😄2023.01.22

일일 회고 158일차

할일 및 한일

경험 및 배움

자료구조 10단원(히프) 학습 및 정리(100%)

오늘은 트리에 이어서 히프에 대해 학습하였다.

히프가 되려는 조건은 두 가지가 존재한다.

  1. 완전 이진 트리여야 한다.

  2. 기본적으로 최대, 혹은 최소 트리여야 한다.

이 두 가지 조건을 만족하는 트리는 히프가 될 수 있다.

히프에 새로운 노드가 추가될 때는, 트리의 가장 마지막 자리에 임시로 저장을 한 후 추가한 노드와 부모 노드 사이의 값을 비교하여 위치를 계속해서 교환하여 추가된다.

히프에서의 제거 연산은 특이하다.

오직, 현재 루트 노드만 제거가된다. 따라서 우선순위 큐나 힙 정렬에서도 구현하는 수단으로 사용된다고 한다.

자세한 학습 내용은 정리 링크를 첨부한다.

스프링 부트 & JPA 강의 스터디 그룹에 PR 날려보기

저번에 한 번 테스트로 해보긴 하였지만, 익숙치 않아 연구실 동료 동엽이의 벨로그를 보면서 진행해보았다.

첫 PR까지는 순조로웠으나, 두 번째 PR부터 문제가 발생하기 시작했다.

문제는 내가 새로 생성한 브랜치로 이동하지 않고, main 브랜치에서 코드를 작성 후 PR을 날려버린 것!

main 에서는 여러 사람이 함께 쓰는 레퍼지토리이기 때문에 함부로 수정을 하거나 push를 하면 안 된다.

main 에 새로운 내용을 작성하고, 뒤에 새로운 브랜치를 생성하니 그 브랜치에는 새로운 내용이 함께 복사가 된 것이다. 하지만 난 그것을 모르고 새로운 브랜치에서 작성했다고 생각을 하고, push를 하니 Github내에서는 내용이 변경된 것이 없으니 PR를 날리라고 문구가 뜨지도 않았던 것이다! 결국 디렉토리를 통째로 날리고 fork 부터 다시 진행하였다.

앞으로 PR를 하고 merge를 할 때는 이 세 가지를 명심하자.

  1. 새로운 코드를 작성하거나 파일을 생성할 때는 무조건 새로운 브랜치를 생성 후, 이동해서 진행하자.

  2. 생성한 브랜치는 로컬, 원격 둘 다 꼭 삭제하자. 안그러면 이상한 꼴을 보게 된다.

  3. 항상 작업 전에는 git pull origin main 을 통해 동기화 후 진행하자.

개선 및 목표

  • 내일은 JPA강의 학습 및 정리 후 배운 곳까지 PR을 다 날려보자.

Last updated