코드잇 스프링백엔드 11기 1주차 위클리 페이퍼 #1 > 강의 내용 정리 및 개인 학습 기록입니다. Q1. git rebase와 git merge의 차이점을 설명하고, 각각 어떤 상황에서 사용하는 것이 적절한지 설명해주세요. Q2. git fetch와 git pull의
JVM 개요JVM은 Java를 플랫폼 독립적으로 실행시키는 추상 실행 환경이다.구조적으로 보면, Java는 Write Once, Run Anywhere 지향한다.이를 가능하게 하는 계층으로 구조는 다음과 같다.Java source (.java) ↓ Javac Compi
객체지향 프로그래밍(OOP)개요(Overview)객체지향 프로그래밍(Object-Oriented Programming, OOP)은 데이터와 그 데이터를 처리하는 로직을 하나의 객체(Object)단위로 묶어 설계하는 프로그래밍 패러다임이다.절차지향(Procedure-Or
데이터 베이스란? 데이터 베이스는 컴퓨터에 체계적으로 저장되는 데이터의 모음을 말한다. 쉽게 말해서 여러가지 데이터를 잘 정리해서 보관하는 큰 저장소라고 볼수 있다. 웹 애플리케이션이나 다른 소프트웨어에서는 사용자 정보, 게시글, 주문 내역 같은 다양한 데이터가 필요한데, 이런 데이터들이 바로 데이터베이스에 저장된다. 컴퓨터 과학에서의 데이터 베이스란 시...
"개인 학습 기록용"객체지향 프로그래밍에서 매우 중요한 원칙 중 하나이다.SRP는 소프트웨어 공학의 대표적인 객체지향 설계 원칙 중 하나로, "SOLID 원칙"의 설계 원칙 집합 중 첫번째 원칙이다. 단일 책임 원칙이란, "모든 클래스는 단 한 가지의 책임만을 가지고,

<개인 학습 기록>🇶1. HashSet의 내부 동작 방식과 중복 제거 메커니즘을 설명하고, HashSet이 효율적인 중복 체크를 할 수 있는 이유를 설명해주세요.🇶2. O(n)과 O(log n)의 성능 차이를 실생활 예시를 들어 설명하고, 데이터의 크기가 1백

개인 학습자료 \*\* 만약 존재하지 않는 값을 넣으면 IllegalArgumentException이 발생한다.java.lang.Enum 은 모든 enum 타입이 상속하는 추상(generic) 클래스이다.Java에서 enum을 정의하면, 내부적으로 해당 enum 클래스

스프링 DI (Dependency Injection) Spring은 객체 간 의존관계를 프레임워크가 관리하는 IoC(Inversion of Control) 원칙에 따라 의존성을 제공한다. DI는 객체가 직접 필요한 의존 대상을 만드는 것이 아니라, 스프링 컨테이너 객
웹 서버(Web Server)란?역할: 정적인 리소스(HTML, CSS, JS, 이미지 파일 등)를 클라이언트(브라우저)에 전달하는 서버예요.대표 예시: Apache HTTP Server, Nginx 등특징HTTP 프로토콜 기반으로 클라이언트(주로 웹 브라우저) 요청을
제네릭(Generics)은 클래스, 인터페이스, 메서드를 작성할 때 "데이터 타입을 나중에 명시할 수 있게" 해주는 자바의 기능이에요.여러 타입에 재사용할 수 있는 "템플릿 코드"를 만드는 것과 비슷합니다.타입을 미리 만들지 않고, 사용할 때 타입을 지정 = 코드의 유
Q. Spring에서 AOP(Aspect Oriented Programming)가 필요한 이유와 이를 활용한 실제 애플리케이션 개발 사례에 대해 설명하세요.실제 애플리케이션을 개발하다 보면, 모든 비즈니스 로직(핵심 코드) 외에도로깅(로그 남기기)트랜잭션 관리보안(권한

1편 - 프로젝트 소개 & 환경 설정Findex 소개, 기술스택개발 환경 설정 트러블슈팅 (PUBLIC_DATA_BASE_URL 문제 등)2편 - IndexData 엔티티 & CRUD 구현엔티티 설계, Repository등록/수정/삭제 API 구현3편 - 목록 조회 &

CodeRabbit + 멘토 리뷰에서 받은 실제 피드백을 중심으로 Before -> After 흐름으로 살펴봐요. 동작 흐름1\. findById() -> 영속성 컨텍스트에 엔티티 등록 (1차 캐시)2\. data.update() -> 필드 값 변경3\. @Transa

MySQL InnoDB는 REPEATABLE READ에서도 MVCC + Gap Lock으로 Phantom Read를 대부분 방지합니다.격리성 위반 문제점1\. Dirty Read (더티 리드)커밋되지 않은 데이터를 읽는 문제입니다. 트랜잭션 A가 수정을 했지만 아직
A. 인덱스는 데이터 검색 속도를 높이기 위한 별도의 자료구조입니다. 대부분의 RDBMS는 B-Tree 인덱스를 기본으로 사용합니다.B-Tree의 리프 노드에 (인덱스 키값, 실제 데이터 위치)를 저장WHERE, ORDER BY, JOIN 조건에 인덱스 컬럼이 있으면
A. 클래스 로딩은 3단계입니다.Loading: .class 파일을 읽어 메모리에 올림. Bootstrap → Extension → Application ClassLoader 순으로 위임(Delegation).Linking:Verification: 바이트코드 유효성 검

Redis(Remote Dictionary Server)는 메모리 기반의 key-value 저장소입니다. 데이터를 디스크가 아닌 RAM에 저장하기 때문에 읽기/쓰기 속도가 극도로 빠릅니다.일반적인 데이터 흐름을 생각해 보면:사용자 요청 → 서버 → DB 조회 (느림)
Q1. Spring Framework이란 무엇이며, 왜 사용하나요?Spring은 Java 엔터프라이즈 애플리케이션 개발을 위한 오픈소스 프레임워크입니다. 핵심 가치는 세 가지입니다.IoC / DI — 객체 생성·의존성 관리를 컨테이너가 담당해 개발자가 비즈니스 로직에
A.JPA(Java Persistence API)는 자바 진영의 ORM(Object-Relational Mapping) 표준 명세(인터페이스) 입니다.핵심 포인트는 JPA는 인터페이스이고, 실제 구현체는 Hibernate, EclipseLink 등이 있다는 점입니다.

GC (Garbage Collection)는 더이상 사용되지 않는 객체를 자동으로 메모리에서 해제하는 JVM의 메모리 관리 기능.GC가 "이 객체를 지워도 돼?" 를 판단하는 기준이 도달 가능성(Reachability) 라고 할수 있다.GC Root (스택 변수, s
AWS 클라우드 환경에서 데이터베이스를 어떻게 운영할지, CI/CD 파이프라인은 어떤 조건으로 실행할지 — 실무에서 자주 마주치는 두 가지 주제를 정리했다.RDS(Relational Database Service)는 AWS가 제공하는 관리형 관계형 데이터베이스 서비스다