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 파일에 오타가 존재하지 않고 위와 같이 같은 위치에 파일이 존재하지만, 해당하는 문장을 찾을 수 없..
코틀린(Kotlin)은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어입니다. 자바 코드와 상호운용성을 중요하게 여기기에 자바 라이브러리나 프레임워크와 함께 잘 동작하며 성능도 자바와 같은 수준입니다. 자바가 사용 중인 곳이라면 거의 코틀린을 활용할 수 있기에 서버 개발, 안드로이드 앱 개발 등에서 사용하고 있습니다. 코틀린의 주요 특성 코틀린은 간결하고 실용적이기에 자바가 사용되고 있는 모든 용도에 생산적이고 안전한 대체 언어가 될 수 있습니다. 예를 들면 웹 애플리케이션의 백엔드 서버상의 코드나 모바일 애플리케이션 개발에 사용될 수 있습니다. 그뿐 아니라 코틀린이 정한 영역은 광범위하므로 여러 다른 환경에서도 작동하도록 하는데 자바스크립트로도 컴파일할 수 있다고 합니다. 정적 타입 지정 언어 정적 타..
전기 신호로 데이터를 전달하는 컴퓨터에서 어떻게 데이터를 표현할 수 있을까요? 전기 신호를 나타내기 위해 있으면 1, 없으면 0으로 데이터를 인식합니다. 그렇기에 0과 1은 데이터를 나타내는 최소 단위이며 이를 비트(bit)라고 부릅니다. 하지만 비트라는 단위는 우리가 사용하는 문자를 표현하기에는 너무 작기에 여러 개를 합쳐 하나의 단위로 사용하고 있습니다. 여러 개의 비트를 합친 단위를 바이트(byte)라고 합니다. 일반적으로 8개를 합쳐 하나의 바이트라고 사용하고 있습니다. 하나의 비트는 0과 1의 2가지 정보를 표현할 수 있기에 8개의 비트를 합친 바이트는 2^8 = 256가지 정보를 표현할 수 있습니다. 표현할 수 있는 정보에 우리가 사용하는 문자를 매핑시켜 만든 규칙이 바로 아스키코드와 유니코드..
1. 운영체제에 독립적이다. 운영체제와 하드웨어랑 직접적으로 통신하는 일반 애플리케이션과 달리 자바 애플리케이션은 JVM을 거쳐 운영체제와 하드웨어랑 통신합니다. 따라서 자바 애플리케이션은 한 번만 작성되면 어디서든 실행될 수 있기에 Write Once, Run Anywhere라고 표현하기도 합니다. 하드웨어마다 사용하는 기계어가 다르고, 운영체제마다 사용하는 API 종류, 메모리 관리 기법 등이 다르기에 일반적인 애플리케이션의 경우 플랫폼에 종속적일 수밖에 없습니다. 자바 애플리케이션은 JVM을 통해 플랫폼에 알맞은 기계어로 변환되기에 자바 애플리케이션 자체는 플랫폼에 종속적이지 않습니다. 하지만 JVM은 운영체제에 맞게 애플리케이션을 변경해야 하기에 플랫폼에 종속적입니다. 결국 JVM이라는 중간 매개..
요구 사항 분석 4주차 미션은 오징어 게임에서 나왔던 다리 건너기를 구현하는 것입니다. 입력한 길이의 다리가 생성되는데 위 칸과 아래 칸 중 이동할 수 있는 칸은 무작위로 정해집니다. 한 스텝당 위 칸과 아래 칸 중 선택하게 되는데 이동할 수 있는 칸은 1칸밖에 없기에 이동할 수 없는 칸을 선택하게 되면 게임을 재시작하거나 종료하게 됩니다. 다리 끝에 도달하면 성공하게 되는데 오징어 게임은 기회가 한 번뿐이지만 이 게임은 기회가 무제한이라는 점! 3주차와 마찬가지로 실행 흐름부터 정리하고 구현해야 할 기능에 대해 생각해 보았습니다. 크게 보았을 때 입력, 출력, 다리, 다리 생성, 다리 이동, 게임 재시작의 키워드를 확인할 수 있었고 키워드를 바탕으로 기능을 정리하였습니다. 구현한 기능은 아래와 같습니다..