alt
Home
hungryjayy
Cancel

버블 정렬(Bubble sort)

: 인접한 두 원소끼리 비교해, 크기가 순서대로 되어있지 않으면 두개를 바꾼다. 기본적으로 O(n^2) 시간복잡도를 갖는다. 그냥 무조건 for문 두번 돌기 때문에 최악, 평균 이런거 없이 다 O(N^2) 선택정렬과 기본 개념이 유사 장점: 간단하다 단...

JPA 연관관계

연관관계 객체 연관관계와 DB 연관관계를 어떻게 매핑할지를 고민 이를 통해 객체지향과 DB사이의 패러다임 불일치 해결 필요한 이유? 객체지향적으로 설계하기 위해 테이블에 맞춰 데이터중심으로 모델링하는 경우 객체 관점, DB 관점 존재 DB관점에서는 외래키 하나로 양쪽 테이블을 조인한다. ...

삽입 정렬(Insert sort)

: 두번째 element부터 시작해 본인의 앞 element들과 비교하면서(계속 swap하면서) 본인의 위치를 찾아감. 최선의 경우 : 이동 없이 1번의 비교만 이루어지는 경우(이미 정렬되어 있는 경우) O(N) 시간복잡도를 갖는다. 최악의 경우 : 완전 역순으로 되어있을 때 O(n^2)...

MST(최소 스패닝 트리)와 Kruskal, Prim

: 최소한의 연결을 가지면서 모든 정점을 포함하고, 가중치도 최소인 것 특징 스패닝 트리 중 간선 가중치 합이 최소 스패닝 트리이므로 n-1개의 간선 간선의 weight(가중치) 합이 최소여야 한다. Cycle이 없어야 한다. 스패닝 트리? 최소한의 연결로 모든 정점을 포함하는 트리 ...

JPA + Kotlin에서 고려할 것들

Entity는 public, protected의 매개변수가 없는 “기본 생성자(No-argument 생성자)”를 가지고 있어야 한다. 클래스 상태를 초기화 할 때 기본 생성자를 이용하기 때문. 코틀린에서는 @Entity / @Embeddable / @MappedSuperClass annotation이 붙어있을 때...

HTTP 1.0, HTTP 1.1, HTTP 2.0

HTTP/1.0 처음으로 널리 쓰인 HTTP 버전 1연결당 1Req,1Res를 처리 keep-alive 헤더로 connection 유지 가능 브라우저에서 요청에 대한 성공과 실패를 바로 알 수 있게 됨. 이전(0.9)에는 GET만 사용했고, 여기서 POST 추가됨 HTTP/1.1 ...

JPA와 관련해 겪은 이슈들, 간단한 메모

210514 JPA repository 사용시 Optional 이슈 기본적으로 자바에 맞춰져 있으므로 Optinal로 묶여있음 Kotlin의 장점을 잘 살리려면 Nullable을 바로 체크할 수 있어야 함. Extension 사용 ...

Dirty checking

: Transaction을 commit하는 시점에 알아서 데이터베이스에 반영해주는 것 단건의 수정에 대한 쿼리를 JPA에서는 지원하지 않는데, 해당 엔티티를 변경하고, 별도로 save하지 않아도, 변경사항이 반영됨 더티체킹 과정 일단 엔티티의 최초 상태(스냅샷)를 영속성 컨텍스트에 보관해 놓는다. 트랜젝션 커밋 시 em 내부에서 ...

Plugin

all-open 플러그인 Kotlin은 기본적으로 final class 따라서 상속 불가 안정성 상승 effective java “상속에 대한 좋은 설계와 문서화를 할 자신이 없다면 상속을 허용하지 말 것.” 그러나 java에 익숙하다면 이것이 불편할 수 있음 ...

for-loop vs forEach vs map

Map vs forEach forEach 값 반환 X 각 요소에 대한 콜백을 수행. (현재 배열을 변경해서 반환). map보다 빠르다. JS에서는 for-loop가 더 빠르고, kotlin에서는 forEach(Collection의 경우)가 더 빠르다. 원래의 배열을 바꿀 염려 있음. 주로 ...