일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트 준비
- HTML
- GIT
- Til
- github
- CS
- 코딩
- 개발자 취업
- Spring
- 자바
- 배열
- 99클럽
- 프로그래머스
- 정렬 알고리즘(sort algorithm)
- 회고
- 코딩공부
- 항해99
- aop
- css
- 메서드
- Java
- wil
- 이진 탐색(binary search)
- cs 공부)준비
- Grafana
- 자료구조
- ArrayList
- Entity
- 코딩문제
- 면접(java
- Today
- Total
목록개발자 취업 (39)
hayu's 개발 일지

학습 키워드- Heap 공부한 내용Heap (max / min)힙은 완전 이진트리 형태로 최대, 최솟값을 빠르게 찾아내는데 유용한 자료구조이다.힙은 중복값을 허용한다.Java에서는 Collection으로 Heap이 없다. 하지만 Max-Heap과 Min-Heap을 Primary Queue를 활용하여 구현할 수 있다.부모 - 자식 간 (레벨 별) 정렬은 보장하고, 형제간의 정렬은 보장하지 않아서 반 정렬 상태라고 볼 수 있다.힙**(Heap)**의 특징완전 이진 트리(Complete Binary Tree) : Heap은 완전 이진 트리의 형태를 가진다. 이는 마지막 레벨을 제외한 모든 레벨이 완전히 채워져 있고, 마지막 레벨은 왼쪽부터 채워져 있는 형태를 말한다.부모-자식 노드 관계 : Heap의 부모 ..

학습 키워드- Deque 공부한 내용Deque 메서드 Deque 값 추가deque.addFirst(); // Deque의 앞쪽에 데이터를 삽입, 용량 초과시 Exceptiondeque.offerFirst(); // Deque의 앞쪽에 데이터를 삽입 후 true, 용량 초과시 falsedeque.addLast(); // Deque의 뒤쪽에 데이터를 삽입, 용량 초과시 Exceptiondeque.add(); // addLast()와 동일deque.offerLast(); //Deque의 뒤쪽에 데이터를 삽입 후 true, 용량 초과시 falsedeque.offer(); // offerLast()와 동일deque.push(); // addFirst()와 동일deque.pop(); // removeFirst()..

학습 키워드- Deque 공부한 내용DequeDeque는 Double Ended Queue의 양방향 대기열이라고도 불리는 자료구조이다.양방향으로 열려있는 구조로 Queue와 외형적으로 비슷한 구조이다. 그러나 Deque는 Stack과 Queue와 달리 LIFO, FIFO와 같은 순서에 구속되지 않는다.Deque 특징Stack 및 Queue를 모두 사용할 수 있다.Deque는 양쪽으로 데이터를 추가하고 삭제할 수 있어서 Stack과 Queue를 구현할 수 있다. 추가와 삭제를 양쪽에서 제어할 수 있어서 여러 형태로 사용할 수 있다.추가를 제한하는 구조한쪽에서만 데이터 추가가 가능하고 삭제는 양방향에서 가능하게 구현한다면 아래와 같은 구조가 된다.데이터 추가의 방향이 정해진 상태가 된다. 왼쪽으로 삭제하는 ..

학습 키워드- this 공부한 내용thisthis는 인스턴스의 자기자신을 의미한다.인스턴스화 되었을 때 자기 자신의 메모리 주소를 담고있는 키워드이다.this 키워드의 세가지 역할자기 자신의 메모리를 가르킨다.생성자에서 다른 생성자를 호출할 경우 사용한다.인스턴스 자신의 주소를 반환할 때 사용한다.this를 사용해야만 하는 경우메소드(생성자 포함)의 매개변수와 클래스 멤버변수가 동일한 이름일 경우 전달인자와 속성이 구분이 되지 않기 때문에 문제가 발생하는데 이를 구분짓기 위해서 속성 앞에 레퍼런스 this를 덧붙인다. 멤버변수 앞에 this를 붙여야 값이 저장된다.this와 this( )의 용도this는 객체 자신을 가리키는 레퍼런스 변수(참조 변수)로, 자신의 객체에 접근할 때 사용된다. - 주로 멤버..

학습 키워드- 캡슐화 공부한 내용캡슐화캡슐화란 쉽게 말하면 변수나 메서드들을 캡슐로 감싸서 안보이게 하는 정보 은닉 개념 중 하나이다.즉, 캡슐화는 객체의 속성(Field)과 행위(Meyhod)를 하나로 묶고, 외부로부터 내부를 감싸 숨겨 은닉한다. 또한 외부의 잘못된 접근으로 값이 변하는 의도치 않는 동작을 방지하는 보호 효과도 누릴 수 있다.자바에서는 대표적으로 protected , default , private의 접근제어자를 통해 구현이 가능하다.class Time { private int hour; // hour는 외부에서 접근하지 못하게private으로 선언한다. // Setter public void setHour(int hour) { if (hour 24) ..

학습 키워드- 면접(JAVA, CS 공부)준비 공부한 내용N+1 문제의 발생 이유와 해결 방법에 대해 설명해주실 수 있을까요? 해결 방법은 3가지 이상 말씀해주시면 좋습니다.→ N+1 쿼리는 jpa의 프록시로 인한 지연 로딩때문에 발생합니다. N+1 의 의미는 1개의 쿼리를 실행했을 때, 내부에 존재하는 컬렉션들을 조회해오면서 생기는 문제입니다. 이 문제를 해결하기 위한 방법은 첫 번째, Join Fetch를 사용하는 방법 두 번째, @EntityGraph을 사용하는 방법 세 번째, FetchType을 지연로딩에서 즉시 로딩으로 바꾸는 방법이 있습니다. Primary Key, Foreign Key에 대해 설명해주세요.→ Primary Key는 관계형 데이터 베이스 테이블에서 각 레코드를 고유하게 식별하기..