[개발 일기] 2025.03.11 - compareTo()
·
개발 일기
💡 개요오늘은 자바에서 문자열 비교에 사용되는 compareTo() 에 대해 정리해 보자.   📕 compareTo()compareTo() 란 문자열을 사전순으로 비교할 때 사용되는 메서드이다.  여기서 말하는 사전 순이란? 각 문자열에 있는 문자를 차례대로 아스키코드를 기준으로 비교하는 것이다.  다음은 String s1과 s2 를 비교하는 코드이다. int result = s1.compareTo(s2);  코드 실행 결과는 다음과 같다. 만약 s1과 s2이 같으면 0s1이 s2보다 사전순으로 뒤에 있으면 양수s1이 s2보다 사전순으로 앞에 있으면 음수 그리고 출력되는 수의 절댓값은 두 문자열에서 첫 번째로 다른 문자의 값 차이다.  apple vs banana System.out.println("..
[개발 일기] 2025.03.10 - 날짜 데이터 타입
·
개발 일기
💡 개요오늘은 자바에서 사용되는 날짜를 나타내는 데이터 타입에 대해 정리해 보자.   📕 날짜 데이터 타입 🛠️ Epoch Time Epoch Time는 long 타입을 사용해 1970-01-01 00:00:00 부터 경과할 밀리초를 표현한다. long epochMillis = System.currentTimeMillis();System.out.println(epochMillis); [결과]1741579085872   🛠️ Date Date는 날짜와 시간을 나타내는 클래스이다.  하지만 사람이 쉽게 알아볼 수 있는 형태로 출력되지 않기 때문에 SimpleDateFormat 을 함께 사용해야 한다. Date now = new Date();SimpleDateFormat sdf = new SimpleD..
[개발 일기] 2025.03.09 - InnoDB
·
개발 일기
💡 개요오늘은 어제 정리했던 MySQL의 엔진인 InnoDB에 대해 정리해 보자.   📕 InnoDBInnoDB란 Innovative Database 의 약자로 MySQL의 기본 저장소 엔진이다.  주요 특징으론 모든 MySQL의 바이너리에 내장되어 있다. 그렇기 때문에 별도의 설치 없이 MySQL만 설치하면 자동으로 설치된다.   🛠️ InnoDB 구조  🛠️ InnoDB 특징 PK를 기준으로 클러스터링 InnoDB에서는 기본 키(PK) 값의 순서대로 데이터를 저장한다. CREATE TABLE students ( id INT PRIMARY KEY, -- 기본 키 (PK) name VARCHAR(50), age INT); 만약 데이터가 저장된다면 아래의 표처럼 저장될 것이다. ..
[개발 일기] 2025.03.08 - MySQL과 웹 애플리케이션
·
개발 일기
💡 개요오늘은 SQL 언어를 기반으로 사용되는 MySQL이 왜 웹 애플리케이션에서 자주 사용되는지 정리해 보자.   📕 MySQL이 웹 애플리케이션에서 자주 사용되는 이유MySQL이 웹 애플리케이션에서 자주 사용되는 이유는 크게 빠른 읽기 성능, 호환성 때문이다.   🛠️ 빠른 읽기 성능 웹 애플리케이션은 거의 대부분 요청에 조회 요청이 포함된다.  MySQL은 InnoDB 엔진의 클러스터형 인덱스를 사용하기 때문에 빠른 조회가 가능하다.  그리고 멀티스레드 기반 아키텍처이기 때문에 다중 요청 처리에 유리하다.  여러 명의 클라이언트가 조회 요청을 보낼 경우 각 클라이언트의 요청이 개별 스레드에서 실행된다.   🛠️ 호환성 MySQL은 Java(Spring Framework), Python(Dja..
[개발 일기] 2025.03.07 - Docker 볼륨 설정
·
개발 일기
💡 개요오늘은 Docker 컨테이너 내부 볼륨 설정에 대해 정리해 보자.   📕 Docker 볼륨볼륨이란 서버나 컴퓨터의 파일 시스템에서 데이터를 저장하는 공간을 의미한다.  만약 Docker 컨테이너에 볼륨을 따로 설정하지 않는다면 내부 데이터도 함께 삭제된다.  그렇기 때문에 데이터를 안전하게 유지하기 위해선 Docker 컨테이너의 볼륨은 반드시 알아둬야 할 중요한 기능이다.   🛠️ docker-compose 을 사용한 볼륨 설정 다음은 docker-compose를 사용해 컨테이너를 실행하고 볼륨을 설정하는 코드이다. version: '3.8'services: app: image: app container_name: app-service volumes: - app_d..
[개발 일기] 2025.03.06 - JPQL vs QueryDsl
·
개발 일기
💡 개요오늘은 Spring Framework에서 사용되는 기술인 JPQL과 QueryDsl에 대해 정리해 보자.   📕 JPASpring JPA는 Spring에서 Java Persistence API(JPA)를 더욱 편리하게 사용할 수 있도록 지원하는 모듈이다.  JPA를 사용하면 개발자가 직접 쿼리를 작성하지 않아도 되고, 데이터베이스 테이블과 매핑된 엔티티를 통해 데이터를 다룰 수 있다.  또한, JpaRepository를 활용하면 메서드 호출만으로도 필요한 쿼리를 자동으로 생성하고 실행할 수 있어, 데이터베이스 연동을 더욱 간결하고 효율적으로 처리할 수 있다. public interface MemberRepository extends JpaRepository { Optional findMe..