본문 바로가기

전체 글231

정보처리기사, 실기 요약 정리 (2. 데이터베이스) 데이터베이스 (DBMS, DataBase Management System)특정 조직 내 필요한 데이터들의 모임, 공용으로 소유/유지/이용하는 공용 데이터   스키마 (Schema)외부 스키마사용자 관점의 스키마→ 하나의 DB에 여러 개의 전체적인 논리적 구조개념 스키마사용자와 DB 관리자 관점의 스키마→ DB 전체적인 논리적 구조내부 스키마DB 설계자/개발자 관점의 스키마→ 개념 스키마를 물리적 저장 장치에 구현하는 방법을 정의  데이터 독립성논리적 독립성 : 응용 프로그램 영향 없이 데이터 논리 구조 변경물리적 독립성 : 응용 프로그램 및 논리 구조 영향 없이 데이터의 물리적 구조 변경   데이터 언어DDL데이터 베이스 구조/제약 조건 정의ex. ALTER, CREATE, DROPDML데이터 처리/조작.. 2025. 3. 20.
정보처리기사, 실기 요약 정리 (1. 소프트웨어 구축) 소프트웨어 생명 주기 (Software Development Life Cycle, SDLC) 프로젝트 계획 ► 요구 분석 ► 설계 ► 구현 ► 테스트 ► 유지보수폭포수선형 순차적 개발 / 고전적, 전통적 개발 모형 / 다시 전 단계로 되돌아가기 어려움프로토타입견본/시제품을 통해 최종 결과 예측 / 인터페이스 중심 / 요구사항 변경 용이나선형폭포수 + 프로토타입 + 위험 분석 기능 추가 / 점진적 개발 과정 반복★ 계획 수립 ► 위험 분석 ► 개발 및 검증 ► 고객 평가★ 애자일일정한 짧은 주기 반복하여 개발 진행견본/시제품 존재 / 고객 소통, 상호작용 중시 하향식 설계절차 지향 (순차적) / 최상위 컴포넌트 설계 후 하위 기능 부여 상향식 설계객체 지향 / 최하위 모듈 먼저 설계 후 결합인터페이스 구조.. 2025. 3. 19.
Spring, Pageable/List 기본 정렬 기준 기술 면접에서 자주 물어보는 부분PageableSpring Data JPA 에서 Pageable을 사용하여 정렬을 지정하지 않으면 기본적으로는 기본키(primary key)를 기준으로 정렬한다. Pageable에서 정렬을 지정하지 않으면 기본 키(@Id) 오름차순으로 정렬될 가능성이 크다. 하지만 데이터베이스 내부 동작 방식에 따라 저장된 순서대로 보이지 않을 수도 있다.정확한 정렬을 보장하려면 Sort를 사용하여 명확히 정렬 조건을 지정하는 것이 좋다.  기본 키(@Id) 기준으로 정렬@Id가 있는 필드(예: report_id)의 오름차순(ASC) 정렬이 기본값@GeneratedValue를 사용하는 경우, 자동 증가되는 순서대로 반환인덱스(Index)가 있는 경우인덱스가 걸려 있는 컬럼이 있다면, 데이.. 2025. 3. 18.
Git, 작업 브랜치, 진행한 피처를 베이스로 분기하는 방법 현재 작업 브랜치의 내용을 복사해서 새로운 브랜치를 만드는 것을 의미한다. git checkout feature/login # 기준이 될 피처 브랜치로 이동git pull origin feature/login # 최신 코드 가져오기git checkout -b feature/login-fix # 새로운 작업 브랜치 생성 * 기준이 될 피처로 브랜치를 이동한 후 진행해야 된다. 2025. 3. 18.
Spring, Service 자주 사용하는 어노테이션 정리 @Service 해당 클래스가 Spring의 서비스 컴포넌트임을 나타낸다.비지니스 로직을 처리하는 역할@Component의 확장 개념으로, 자동으로 Spring Bean으로 등록된다.  @RequiredArgsConstructor Lombok 제공 어노테이션final or @NonNull 이 붙은 필드를 자동으로 생성자 주입즉, @Autowired 없이 생성자 주입 방식으로 의존성 주입을 처리할 수 있다.  @Slf4j Lombok에서 제공하는 로깅 어노테이션log.info(), log.debug(), log.error() 등을 사용 할 수 있음로그 출력을 위해 LoggerFactory.getLogger(ClassName.class)를 직접 선언할 필요가 없다.  @Transactional Spring의.. 2025. 3. 18.
Spring, Lazy Loading 사용하는 방법 / 외래키로 연결된 테이블의 데이터 같이 가져오는 방법(JPA) Lazy Loading Lazy Loading(지연 로딩)은 JPA에서 연관된 엔터티를 실제 사용할 때 로드하는 방식즉, 처음에는 프록시 객체만 생성해 두고, 해당 필드에 접근할 때 쿼리를 실행한다. Lazy Loading을 사용하려면 @ManyToOne, @OneToMany, @OneToOne, @ManyToMany 관계에서fetch = FetchType.LAZY 옵션을 설정하면 된다.(기본적으로 @ManyToOne과 @OneToOne은 FetchType.EAGER, @OneToMany와 @ManyToMany는 FetchType.LAZY입니다.) FetchType.LAZY 는 필요할 때만 조인 테이블을 조회하며, 기본 키는 바로 접근할 수 있어서 불필요한 조인을 피할 수 있다.▹ 조회되는 모든 행마다 .. 2025. 3. 18.