본문 바로가기

이직준비13

[JPA] 영속성 컨텍스트에 따른 엔티티 조회. JPA 에서 Entity를 관리하는 영속성 컨텍스트는 정말 중요한 개념이다. 이번 이직을 준비하면서 기술면접으로 물어본 질문중 "@Transactional 이 있는 서비스를 한단계 위 서비스에서 다른 트랜잭션으로 묶었을때 해당 객체에 연관된 객체를 불러오게 되면 어떻게 되는가?" 대충 이런식의 질문 이었다. [퍼사드패턴]으로 상위 트랜잭션에서 하위 서비스에 새로운 트랜잭션으로 엔티티를 불러오고 해당 서비스에서 이미 트랜잭션이 종료되고 해당 엔티티는 비영속 상태가 되어 더이상 엔티티로 관리되지 않고 그 상태에서 해당 엔티티와 연관관계가 있는 객체를 불러오면 해당 연관 객체를 가져올수 없다고 대답은 했지만.. 실제로 어떻게 동작하는지 확인하기 위해 직접 코드를 작성해 보았다. 구성 아주 간단한 구성으로 회원.. 2022. 5. 17.
[Algorithm] 프로그래머스 - 디스크 컨트롤러 https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 힙큐를 이용한 풀이법. 변수 설명 jobs 배열 -> { 들어온 시간, 처리되는 시간 } 풀이법 하나의 처리가 종료되어야 다음 처리가 가능하기 때문에 큐를 이용해 들어온 처리들을 큐에 넣고 하나씩 꺼내면서 처리를 수행한다. 큐에서 꺼내어 처리 할 때마다 종료시간을 계산한다. 큐에 넣는 조건 현재 처리중인 노드의 종료시간을 계산. 종료시간보다 같거나 작은 시.. 2022. 3. 21.
[Algorithm] 프로그래머스 - 네트워크 https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 위 문제는 양방향 그래프를 형성하고 전체 그래프를 순회하면서 몇개의 그룹이 존재하는지 판단하는 문제이다. 먼저 입력에 대한 그래프를 생성한다. 그래프를 작성하는 코드는 다음과 같다. (배열을 이용함) 배열의 의미 ( graph[ i ][ j ] = i번째 노드와 j번째 노드가 연결 되어있으면 1, 아니면 0 ) int[][] graph; public int.. 2022. 3. 21.
[Algorithm] KAKAO - [1차] 추석 트래픽 https://programmers.co.kr/learn/courses/30/lessons/17676 2022. 3. 8.
[Algorithm] 카카오2022 - 신고 결과 받기 카카오 2022년 Level 1 (프로그래머스 기준) 문제이다. http://https://programmers.co.kr/learn/courses/30/lessons/92334 문제풀이 방법으로 처음 생각했던 방식이다. 이름별로 신고한 이름을 리스트로 만들고 이름이 리스트에 존재하지 않을때만 신고한 이름을 추가한다. (중복신고 불가능하기 때문) 이후 리스트에 추가 되면 해당 이름의 신고 카운트를 1 증가시킨다. 처음 작성한 코드 import java.util.*; import java.util.stream.Collectors; class Solution { public int[] solution(String[] id_list, String[] reports, int k) { int[] answer = .. 2022. 3. 2.