본문 바로가기

학습23

[문법] HashMap 사용하기 코딩테스트를 준비하면서 내림차순으로 정렬하고, HashMap에서 키만 배열에 담아 반환하는 코드를 구현하였다. HashMap result = new HashMap()를 정의하고 이에 저장된 값을 반환한다고 가정하면 코드는 아래와 같았다.return result.entrySet().stream().sorted((o1, o2) -> Double.compare(o2.getValue(), o1.getValue()).mapToInt(HashMap.Entry::getKey).toArray();  entrySet()Map에서 모든 Entry(Key - Value 쌍)을 가져와 Set 객체로 반환함반복문을 이용하여 각 Entry에 순차적으로 접근 할 수 있음 sorted((o1, o2) -> Double.compare.. 2024. 7. 30.
[문법] 자바에서 사용되는 API 최근 코딩테스트 준비 겸 알고리즘 공부를 하기 위해 새로운 교재를 사서 학습을 시작했다. 개발자 취업, 이직 등 질문을 주고 받을 수 있는 오픈채팅에 가입을 했는데 거기에서 추천 받은 책이 있다. https://product.kyobobook.co.kr/detail/S000212576322 코딩 테스트 합격자 되기: 자바 편 | 김희성 - 교보문고 코딩 테스트 합격자 되기: 자바 편 | ★ 코딩 테스트 합격자가 되는 가장 확실한 방법! ★ 프로그래머스 제공, 전문가가 모여 엄선한 빈출 97문제로 철저하게 대비하세요! 신입 사원 코딩 테스트 product.kyobobook.co.kr 처음으로 다루는 내용은 배열에 관한 내용이었다. 더 빠른 시간 내에 구현하기 위해서 자바 API를 사용하였는데 01번, 02.. 2024. 4. 18.
[Java] JPA 강의 - 8 (프록시와 연관관계 관리) 프록시 프록시 기초 - em.find() : 데이터베이스를 통해서 실제 엔티티 객체를 조회하는 것 - em.getReference() : 가짜(프록시) 엔티티 객체를 조회하는 것 -> 실제 사용되는 시점에 쿼리가 실행됨 프록시 특징 - 프록시 객체는 처음 사용할 때 한 번만 초기화 --> 프록시 객체를 통해 실제 entity에 접근 - 영속성 컨텍스트에 엔티티가 있으면 getReference 호출해도 실제 엔티티 반환 --> 하나의 영속성 컨텍스트에 있고 PK가 동일하면 JPA는 객체 비교시 TRUE를 반환함 - type 체크시 -> == 비교가 아닌 instance of 사용하기 - 준영속 상태일 때, 프록시를 초기화하면 에러 발생함 (initializeException) 즉시 로딩과 지연 로딩 "지연.. 2024. 2. 15.
[Java] JPA 강의 - 7 (고급 매핑) 상속관계 매핑 조인 전략 @DiscriminatorColumn(name = "DTYPE") -> 엔티티명이 들어감 @DiscriminatorValue("XXX") 두번의 INSERT 장점 - 테이블 정규화 - 외래키 참조 무결성 제약조건 활용 가능 - 저장공간 효율화 단점 - 조회 시 조인을 많이 사용, 성능 저하 - 조회 쿼리가 복잡함 - 데이터 저장시 INSERT SQL 2번 호출 단일 테이블 전략 @DiscriminatorColumn 쓰지 않아도 DTYPE이 생성됨 하나의 테이블에 다 넣고 DTYPE으로 구분함 장점 - 조인이 필요 없으므로 일반적으로 조회 성능이 빠름 - 조회 쿼리가 단순함 단점 - 자식 엔티티가 매핑한 컬럼은 모두 null 허용 -> 데이터 무결성 애매함 - 단일 테이블에 모든 .. 2024. 2. 5.