웹에 대해 학습하다 보면 어떤 규칙 위에서 클라이언트와 서버 사이 데이터 전달이 발생하게 된다는 것을 알게 됩니다. 서버에는 웹 서버와 웹 애플리케이션 서버가 존재하는데 각각은 무엇을 의미하고 어떤 차이점이 있는지 알아보기 위해 글을 작성하게 되었습니다. 웹 서버(Web Server) 웹 서버는 하드웨어 개념과 소프트웨어 개념으로 나눌 수 있다. 하드웨어: 웹 서버가 설치되어 있는 컴퓨터를 의미한다. 소프트웨어: 클라이언트로부터 요청을 받아들여 html, jpeg, css 등과 같은 정적인 콘텐츠를 반환하는 프로그램을 의미한다. 웹 서버의 기능 웹 서버는 HTTP 프로토콜을 기반으로 클라이언트 요청에 알맞은 동작을 수행하는데, 크게 2가지 기능을 수행한다. 클라이언트로부터 요청 데이터를 받아 처리하여 저..
MyBatis를 사용하기 위해서는 인터페이스로 해당하는 Mapper를 작성하고 같은 위치에 실행할 SQL이 있는 XML 매핑 파일을 만들어야 합니다. application.yml이나 application.properties를 수정해서 Mapper가 실행할 XML 파일을 원하는 위치로 이동할 수도 있습니다. 오류 상황 src/main/java/hello/itemservice/repository/mybatis/ItemMapper.java src/main/resources/hello/itemservice/repository/mybatis/ItemMapper.xml Mapper Interface와 대응되는 XML 파일에 오타가 존재하지 않고 위와 같이 같은 위치에 파일이 존재하지만, 해당하는 문장을 찾을 수 없..
전기 신호로 데이터를 전달하는 컴퓨터에서 어떻게 데이터를 표현할 수 있을까요? 전기 신호를 나타내기 위해 있으면 1, 없으면 0으로 데이터를 인식합니다. 그렇기에 0과 1은 데이터를 나타내는 최소 단위이며 이를 비트(bit)라고 부릅니다. 하지만 비트라는 단위는 우리가 사용하는 문자를 표현하기에는 너무 작기에 여러 개를 합쳐 하나의 단위로 사용하고 있습니다. 여러 개의 비트를 합친 단위를 바이트(byte)라고 합니다. 일반적으로 8개를 합쳐 하나의 바이트라고 사용하고 있습니다. 하나의 비트는 0과 1의 2가지 정보를 표현할 수 있기에 8개의 비트를 합친 바이트는 2^8 = 256가지 정보를 표현할 수 있습니다. 표현할 수 있는 정보에 우리가 사용하는 문자를 매핑시켜 만든 규칙이 바로 아스키코드와 유니코드..