반응형
제육's 휘발성 코딩
반응형
[Database] 개체, 속성, 관계 의미
CS/데이터베이스 2021. 9. 1. 18:43

데이터베이스 엔티티 (Entity) 엔티티는 업무에서 관리해야 하는 데이터 집합을 의미 개념, 사건, 장소 등의 명사 엔티티 특징 식별자 : 유일한 식별자 인스턴스 집합 : 2개 이상의 인스턴스 필요 ex) 고객 정보는 2명 이상 있어야 한다. 속성 : 엔티티는 반드시 속성을 가지고 있다. ex) 고객 엔티티에 이름, 주소, 전화번호 등 관계 : 다른 엔티티와 최소한 한 개 이상 관계 필요 업무 : 업무에서 관리되어야 하는 집합 엔티티 종류 엔티티의 종류는 유형과 무형에 따른 종류, 발생하는 시점에 따른 종류로 나뉜다. 유형과 무형 유형 엔티티 : 업무에서 도출되며 지속적으로 사용되는 엔티티 ex) 고객, 강사, 사원 개념 엔티티 : 유형 엔티티는 물리적 형태가 있지만, 개념 엔티티는 없다. ex) 거래..

[Clean Code] Chap 2. 의미 있는 이름
Book/Clean Code 2021. 9. 1. 17:10

나쁜 코드 성능이 나쁜 코드 불필요한 연산이 들어가서 개선의 여지가 있는 코드 의미가 모호한 코드 이해하기 어려운 코드, 네이밍과 그 내용이 다른 코드 중복된 코드 비슷한 내용인데 중복되는 코드들은 버그를 낳는다. 깨진 유리창 법칙 - 나쁜 코드는 유리창 처럼 계속 나쁜 코드가 만들어지도록 한다. 생산성 저하 - 나쁜 코드는 팀 생산성을 저하시킨다. 기술부채를 만들어 수정을 더 어렵게 한다. 결국 새로운 시스템을 만들어야 한다. 시간이 없다고 나쁜 코드를 사용하면, 결국 일정을 못맞춘다. 클린 코드 성능이 좋은 코드 의미가 명확한 코드 - 가독성이 좋은 코드 중복이 제거된 코드 보이스카우트 룰 : 전보다 더 깨끗한 상태로 만든다. 의미가 분명한 이름 짓기 이름을 잘 짓는 간단한 규칙 소프트웨어에서 이름은..

[Database] 데이터 모델링
CS/데이터베이스 2021. 8. 29. 21:00

데이터 모델링 데이터 모델링이란 현실 세계를 데이터베이스로 표현하는 것을 의미한다. 특징 추상화 (Abstraction) : 현실 세계를 간략하게 표현 단순화 (Simplification) : 누구나 쉽게 이해할 수 있도록 표현 명확성 (Clarity) : 명확하게 의미 해석, 한가지 의미만 가짐 단계 1. 개념적 모델링 Entity와 Attribute를 도출하고 개념적 ERD를 작성 복잡하게 표현하지 않고 중요한 부분을 위주로 모델링 추상화 수준이 가장 높으며, 전사적 관점에서 모델링 2. 논리적 모델링 개념적 모델링을 논리적 모델링으로 변환하는 작업 식별자를 도출하고 필요한 모든 릴레이션 정의 정규화를 통해 데이터 모델의 독립성 확보 3. 물리적 모델링 실제 데이터베이스를 구축 (테이블, 인덱스, 함..

CH1. 문자열
🔷 Java/Algorithm 2021. 8. 26. 14:15

문자 찾기 public class Main { public int solution(String str, char t) { int answer = 0; str = str.toUpperCase(); t = Character.toUpperCase(t); for (char x : str.toCharArray()) { if ( x == t ) answer ++; } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb = new Scanner(System.in); String str = kb.next(); char c = kb.next().charAt(0); System.out.print(T.solution..

static 이란?
🔷 Java/Basic 2021. 8. 24. 04:06

JVM 메모리 구조 JVM : 자바 바이트 코드들을 OS에서 어떻게 실행할 지에 대한 표준 스펙 static 키워드를 이해하기 위해선 JVM의 메모리 구조 및 실행 단계에 대한 선행되어야 한다. JVM 구조 Garbage Collector : Heap 영역에 더이상 사용 하지 않는 객체 제거 Execution Engine : .class 파일을 하나의 명령 단위로 읽어 컴퓨터가 이해할 수 있는 기계어로 번역 후 실행 Class Loader : .java 파일을 .class로 (바이트코드)로 컴파일된 바이트 코드들을 운영체제를 통해 메모리를 할당 받아둔 Runtime Data Area로 적재하는 역할 Runtime Data Area : JVM 메모리 영역으로 OS로 부터 별도로 메모리 공간을 할당 받고 J..

객체지향 프로그래밍 3요소
🔷 Java/Basic 2021. 8. 17. 01:02

객체지향 프로그래밍 - OOP 현실 세계를 객체로 모델링하여 소프트웨어를 개발하는 방법 소프트웨어를 개발할 때 시스템에 대한 요구사항이 계속해서 추가되고 변경된다. 이를 객체지향에 대입 장점 : 객체마다 유연하게 프로그래밍하여 시스템의 확장이나 변경에 쉽게 대응(안정적인 유지 보수 가능) 단점 : 처리 속도가 상대적으로 느리고 설계할 때 많은 시간과 노력 필요 객체지향 프로그래밍의 3요소 캡슐화(Encapsulation) - 정보은닉 public class Ex1 { private int id; private String name; private String password; public int getId() { return id; } public void setId(int id) { this.id = ..

[Spring JPA] - 연관 관계 매핑 (단방향, 양방향)
🔷 Spring/JPA 2021. 8. 14. 22:55

목표 객체와 테이블 연관관계의 차이를 이해 객체의 참조와 테이블의 외래 키를 매핑 용어 이해 방향 : 단방향, 양방향 다중성 : 다대일, 일대다, 일대일, 다대다 연관관계의 주인 : 객체 양방향 연관관계는 관리 주인이 필요 연관관계가 필요한 이유 객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다. 예제 시나리오 회원과 팀 존재할 때, 회원은 하나의 팀에만 소속 = 하나의 팀에는 여러 회원 소속 회원과 팀은 다대일 관계를 갖는다. 테이블 중심 설계시 문제점 다음과 같이 설계했을 때 발생하는 문제점에 대해 알아보자. 회원 테이블 @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long..

[Spring JPA] - 엔티티 매핑 종류
🔷 Spring/JPA 2021. 8. 14. 14:02

엔티티 매핑 종류 객체와 테이블 매핑 : @Entity, @Table 필드와 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne,@JoinColumn 객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리하는 클래스로 엔티티라고 부른다. 즉, 테이블과 매핑할 클래스는 반드시 @Entity를 적용해야 한다. 기본 생성자 필수 (파라미터가 없는 public 또는 protected) final 클래스, enum, interface, inner 클래스 사용할 수 없다. 저장할 필드에 final 키워드를 사용할 수 없다. @Table 기본 값은 클래스 이름을 그대로 사용한다. 유니크 제약 조건 추가 : @Table(uniqueConstraints = ..

반응형
반응형