2022. 12. 20. 22:27, TIL
어제의 목표 🤔
- 알고리즘 힙구조/재귀용법 정리하기 ⭕️
- 기존 실버1수준 까지 풀 수 있던 자료구조 골드 하위 문제 도전해보기 ⭕️ (실버 1문제로 타협)
- 이펙티브 자바 한 챕터 읽고 정리하기 / JPA 한 챕터 읽고 정리하기 (챕터 야바위) ❌(시간부족)
- 게시판 프로젝트 리팩토링 마무리 / 테스트 코드 작성 하고 끝내기 ❌(시간부족)
- 작성한 코드를 왜 그렇게 작성했는지에 대한 이유를 설명할 수 있어야 할 것 같다. 🤔
오늘 진행한 것들 🤔
- 힙 자료구조에 대해서 정리
- 재귀용법에 대해서 정리
- 힙 자료구조 알고리즘 1문제, 재귀 알고리즘 1문제 풀이
- 데이터베이스 실시간 강의
- 그룹스터디 인사이트 공유
오늘의 배운 점 🤔
- 힙구조에 대해서 배웠습니다.
- 이진 탐색 트리와 완전 이진 트리의 차이점에 대해서 알게 되었습니다.
- 이진 탐색 트리는 말그대로 탐색을 위한 구조이고 완전 이진 트리는 최소/최댓값을 빠르게 찾기위한 구조라고 정리했습니다.
- 완전 이진트리는 값을 무조건 왼쪽 끝 부터 삽입하고 최소/최대 정렬에 따라 부모 노드와 위치를 계속 바꿔가면서 삽입하고 (윗 노드의 값이 자식 노드의 값보다 크거나 같아야 한다 (최대힙일경우)) , 이진 탐색 트리는 부모 노드보다 값이 크면 오른쪽, 작으면 왼쪽 으로 삽입하는것을 알게 되었습니다.
- 재귀용법에 대해서 배웠습니다.
- 따로 정리라고 할것은 재귀 함수에 어떤 부분에 스탑을 넣을 것인지 조건을 잘 정하는게 관건인것 같았습니다.
- 자료구조부분은 생각보다 어려웠던 부분도 없었고 이미 구현이 되어있는 api 도 많았지만, 재귀나 정렬부터는 제가 직접 머릿속으로 고민해야될 문제가 많은것 같아서 차분차분 풀어나가야 할 것 같습니다.
- 멘토님께서 어떠한 문제를 잘 풀게 되는건 알고리즘 풀이의 실력이 늘은것이 아닌 해당 문제에 쓰이는 것에 대한 실력이 상승한거라고 하셨는데, 이제 다시 브론즈부터 풀어나가야 할 문제들이 생긴것 같습니다.
- 알고리즘 문제를 풀었습니다.
- 재귀 문제는 실버 5로 도전했다가 큰코를 다쳤습니다.
- 메소드가 스택에 어떻게 쌓이는지는 이해를 했지만, 직접 풀이를 해보려니 이해가 완전히 되지 않은 느낌입니다.
- 다시 브론즈부터 풀어봐야겠습니다.
- 힙 문제는 실버 1문제를 풀이했습니다.
- 이제 골드문제도 도전해도 되겠다는 생각이 들었습니다. (언제 한번 알고리즘 풀데이를 가져봐야겠습니다.)
- 데이터베이스 실시간 강의
- JOIN, GROUP BY, HAVING, ALTER ,인덱스 에 대해서 배웠습니다.
- GROUP BY 같은 경우에는 말그대로 같은 값을 가진 row 끼리 그룹별로 묶어서 관리할 수 있게 해줍니다.
- 인덱스 같은 경우에는 정리가 더 필요할 것 같습니다.
- 보통은 pk로 설정해버리면 pk가 되는 컬럼은 자동으로 인덱스가 생성되나, 그렇지 않은 컬럼들도 따로 인덱스를 생성 할 수 있습니다.
- 따로 제약조건을 붙여서도 관리가 가능했습니다.
- JOIN 은 이너조인과 아우터 조인이 있으나 이너조인만 배웠습니다.
- 이너조인은 단순히 두 테이블간 겹치는 부분만 데이터를 가져와서 퍼즐처럼 붙여준다고 이해했습니다.
- 따로 찾아보니 아우터조인은 중복이 되지 않는 값까지 다 가져와서 중복이 되지 않은 값들을 null 로 입력후 붙여준다고 합니다.
- having 은 where 과 비슷하지만, having 은 그룹으로 묶었을때의 로우에만 적용되고 where 은 개별 데이터별로 적용된다는 차이점을 갖고있습니다.
- alter 는 테이블에 변경사항이 존재할때 수정하는 정도의 문법으로 알고있으면 될 것 같습니다.
- JOIN, GROUP BY, HAVING, ALTER ,인덱스 에 대해서 배웠습니다.
- 그룹 스터디에서 인사이트 공유를 진행했습니다.
- 호승님은 네트워크, 컴퓨터구조에 대한 짤막한 정보들을 가져와주셨습니다.
- 메모리? 의 크기가 작을수록 컴퓨터의 성능이 좋아진다.. 라는 내용이 존재했었습니다. 생각해보니 맞는것 같습니다. 장치 하나하나가 굉장히 작아서 같은 면적에 많이 들어가고 감당이 된다면 그게 최고의 성능을 발휘 할 수 있겠다 생각했습니다.
- 네트워크같은 경우에는 lan과 wan 의 차이에 대해서 설명해주셨습니다. lan은 제한된 구역내의 네트워크, wan은 광범위한 구역의 네트워크 를 뜻한다고 합니다. 흥미롭네요
- 이안님은 토이프로젝트를 진행하시면서 겪었던 문제에 대해서 공유를 해주셨습니다.
- 주변에 누군가가 고민을 하는것을 같이 공유한다는것은 좋은것 같습니다.
- 저도 그 부분에 대해서 한번 더 생각할 수 있게 되어서 좋았습니다.
- 주변에 동료가 한계단 한계단 올라가는걸 볼때마다 짜릿한 기분이(?) 듭니다.
- 주변에 누군가가 고민을 하는것을 같이 공유한다는것은 좋은것 같습니다.
- 진혁님께서는 정적 팩토리 메소드에 대해서 공유를 해주셨습니다.
- 이펙티브 자바로 정리했던 내용인데 책 자체가 어려워서 솔직히 다시봐도 크게 이해되는 부분은 없었습니다.
- 하지만 또 다시 보게되니 그 이후로 배웠던 무언가와 연관지어서 생각할 수 있게 되었습니다.
- 이러한 부분에서 보람을 한번 더 느끼게 되는것 같습니다. 꾸준한 학습이 정답인것 같네요.
- 호승님은 네트워크, 컴퓨터구조에 대한 짤막한 정보들을 가져와주셨습니다.
내일 목표 🤔
- 알고리즘 정렬/ 공간복잡도 정리하기
- 자료구조 실버 상위문제 2문제 이상 풀이하기
- 이펙티브 자바 반 챕터 읽고 정리하기 / JPA 한 챕터 읽고 정리하기 (챕터 야바위)
- 게시판 프로젝트 리팩토링 마무리 / 테스트 코드 작성 하고 끝내기
내일도 화이팅!
'TIL' 카테고리의 다른 글
22-12-26 TIL (0) | 2022.12.26 |
---|---|
22-12-22 TIL (0) | 2022.12.22 |
22-12-21 TIL (0) | 2022.12.21 |
22-12-19 TIL (0) | 2022.12.19 |
22-12-15 TIL (0) | 2022.12.15 |
Comments, Trackbacks