Entity 모델링에 VO(value object)를 활용하기 최근 진행하고 있는 Entry3.0 프로젝트에서 ged_grade(검정고시 졸업자 점수)테이블의 grade 컬럼을 unsigned double로 만들었다. 점수를 음수로 저장하는 몽총이는 없으니까 난 스마트하니까~ ~ 이 테이블을 엔티티로 매핑하려는데 unsigned에 대한 처리는 자바에서 기본적으로 제공하는 기능(문법?)으론 불가능했다. 자바에는 unsigned가 없기 때문이다. 무언가 다른 방법이 필요했다. 그래서 VO를 활용하기로 했다. 먼저 UnsignedDouble이라는 Double을 래핑한 VO를 만들고 @Embeddable을 붙여 Entity에 임베딩할 수 있도록 했다. **기본 생성자(Default Constructor)가 필요..
클래스와 객체는 붕어빵 틀과 붕어빵이 아니다. 처음 객체지향 프로그래밍을 접하는 사람들은 이런 말을 한 번 쯤 듣는다. 아마 안들어본 사람이 없을 것 같다. 붕어빵 틀에서 붕어빵을 찍어내지? 그러니까 붕어빵 틀은 클래스가 되는 거고 붕어빵은 객체가 되는거야. 이 new라는 연산자를 사용해서 붕어빵 틀에서 붕어빵을 찍어낼 수 있어 나도 객체 지향을 처음 접할 때 위의 설명을 들었고, 잘못된 개념으로 객체 지향을 이해하고 있다가 약 5분 전 김종민님이 쓰신 스프링 입문을 위한 자바 객체 지향의 원리와 이해라는 책의 극초반 내용에서 깨달음을 얻었다.(정말 좋은 책이니 다들 읽어보았으면 좋겠다.) 붕어빵 틀과 붕어빵은 결코 클래스와 객체 관계가 될 수 없다. 왜? 코드로 보면 이해가 한결 쉬워진다. 다음 코드를..
힙 정렬(HeapSort) 힙이란? http://devheat.tistory.com/12 참고 설명 힙의 최상위 노드에는 가장 큰 값이 존재한다는 특성을 이용해 정렬하는 알고리즘 최대 힙 혹은 최소 힙의 노드 삭제를 연속으로 수행해 값이 가장 큰 노드부터 내림차순 혹은 오름차순으로 꺼낼 수 있다. 구현 구현은 이전 포스팅 http://devheat.tistory.com/12 에서 만든 delete 메소드를 연달아 호출하면 된다. 최상위 노드를 꺼내고, 최하위 노드를 최상위에 위치시켜 다시 하향 heapify를 수행하는 것이 핵심 소스코드 번외 이전 포스트와 마찬가지로 Generic Heap에도 정렬 기능을 추가할 수 있다. 구현 힙 사용 예제 (Comparable을 구현한 String 클래스를 사용)
- Total
- Today
- Yesterday
- 자료구조 힙
- 백준 온라인 저지
- 붕어빵틀과붕어빵
- 붕어빵틀과 붕어빵
- 우아한테크캠프
- 정렬
- 스택
- 자료구조 Heap
- 스택 계산기
- @Embdded
- 양방향 연결
- uni direction
- JPA 관계
- Java Heap
- 전공프로젝트
- 알고리즘
- Entity에 VO
- Java 스택 계산기
- 자료구조
- signme
- 정렬 알고리즘
- @Embeddable
- 우테캠
- 소프트웨어개발과
- bi direction
- 클래스와 객체
- 단방향 연결
- 백준
- 자바 힙 구현
- Sign Me
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |