본문 바로가기

분류 전체보기20

알고리즘 문제 풀이에 접근하는 방법 문제 접근 방법에 대해서 알고리즘에서 10의 8승 (10^8)이란? 일반적으로 연산을 10^8번하면 1초 정도로 생각합니다. 이것만으로 코테문제의 알고리즘을 추론할 수 있습니다. 시간 복잡도의 중요성 1부터 n까지 더하는 알고리즘이 있다고 가정하겠습니다. 1 + 2 + 3 + ... + n = ? 코드로 구현 한다면 forloop를 돌며 1부터 n까지 더하면 됩니다. def sum(n): answer = 0 for i in range(n+1): answer += i return answer 하지만 n이 크다면 ? 1 + 2 + 3 + ... + 10^8 = ? 위 코드는 n이 클 경우에는 시간이 매우 오래걸리기 때문에 수학적 공식을 구해서 계산해야 합니다. def sum(n): return n * (n .. 2023. 8. 30.
필드와 컬럼 매핑 필드와 컬럼 매핑 @Column 컬럼 매핑 @Column(name = "{컬럼명}") 형태로 사용한다. 속성 name 매핑할 테이블의 컬럼 이름 (기본값: 객체의 필드명) insertable, updatable 등록, 변경 가능 여부 (기본값: True) @Column(insertable = true, updatable = false) nullable(DDL) null 값의 허용 여부를 설정한다. false로 설정하면 DDL 생성 시에 not null 제약조건이 붙는다. @Column(nullable = false) unique(DDL) @Table의 uniqueConstraints와 같지만 한 컬럼에 간단히 유니크 제약조건을 걸때 사용. 컬럼에 사용 시 유니크키의 이름을 설정하기 힘들기 때문에 잘 사용.. 2023. 6. 15.
스키마 자동 생성(Auto DDL) 데이터베이스 스키마 자동 생성 DDL을 애플리케이션 실행 시점에 자동 생성 테이블 중심 → 객체중심 데이터베이스 방언(Dialect)을 활용해서 데이터베이스에 맞는 적절한 DDL 생성 오라클 varchar2 mysql varchar ... 등 데이터베이스에 맞는 타입으로 생성 이렇게 생성된 DDL은 개발 장비에서만 사용 생성된 DDL은 운영서버에서는 사용하지 않거나, 적절히 다듬은 후 사용 hibernate.hbm2ddl.auto create 기존테이블 삭제 후 다시 생성(DROP + CREATE) create-drop create와 같으나 애플리케이션 종료시점에 테이블 DROP 주로 테스트케이스를 작성하는 환경에서 사용 update 변경분만 반영(운영 DB에는 사용하면 안됨) validate 엔티티와 .. 2023. 6. 15.
엔티티 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리 한다. JPA를 사용해서 테이블과 매핑할 클래스는 해당 어노테이션을 필수적으로 기재한다. 기본 생성자가 꼭 필요하다. @Entity public class Member { @Id private Long id; private String name; public Member() {} } 속성 name @Entity(name = “Member”) 형태로 사용한다. 기본값은 클래스의 이름을 그대로 사용한다. 같은 클래스 이름이 없으면 가급적 기본값을 사용한다 JPA 내부에서 엔티티 Alias로 사용하며, 실제 데이터베이스 Table명과는 관련없다. @Table @Table은 엔티티와 매핑할 테이블을 지정한다 @Entity @Table(name = "mb.. 2023. 6. 15.