06.21.2023 - 학습 일지
[국비] 백엔드 과정
※ 오전 활동 ※
T : AM 09:00 - 11:50
Algorithms
※ [학습 내용] ※
▣ Algorithms - Tree data structure
- Tree의 정의와 구조에대해서 학습함
- 설명 : 한 개의 노드로 시작하여 여러 개의 자식 노드로 확장되는 비선형 자료구조를 말함
- [구조]
1. 계층적인 데이터를 저장하고 표현하는데 유용함
2. 파일 시스템의 루트 노드는 루트 디렉토리를 의미함
3. 루트 디렉토리의 자식 노드는 하위 디렉토리를 의미함
4. 하위 디렉토리의 자식 노드는 파일 or 하위 데렉토리를 의미함
5. 탐색은 트리의 노드를 순회하면서 특정 노드를 찾는 연산을 의미함
6. 삽입은 트리에 새로운 노드를 추가하는 연산을 의미함
7. 삭제는 트리에서 노드를 제거하는 연산을 의미함- Tree의 종류에 대해서 학습함
- [종류]
1. 이진 트리 : 노드가 최대 2개의 자식을 가질 수 있는 트리를 말함
2. 이진 탐색 트리 : 노드의 데이터가 정렬된 순서로 저장되는 이진 트리를 말함
3. 포화 이진 트리 : 모든 레벨이 노드로 꽉 차 있는 트리를 말하고, 노드 개수는 정확히 2^k-1 개를 말함
4. 완전 이진 트리 : 모든 레벨이 노드로 꽉 차 있고, 가장 낮은 레벨(마지막 레벨)의 노드들은 왼쪽에서 오른쪽으로 채워진 이진 트리를 말함
5. 편향 이진 트리 : 이진 탐색 트리의 한 종류로, 대부분의 노드가 한쪽 방향으로 쏠려 있는 트리를 말함
6. 균형 이진 트리 : 노드의 높이가 균일하게 유지되는 이진 트리를 말함
7. 힙 : 부모 노드의 데이터가 자식 노드의 데이터보다 항상 큰 트리를 말함
8. B 트리 : 노드가 많은 데이터를 저장할 수 있는 트리를 말함
9. Sub 트리 : 어떤 트리의 노드에서부터 그 노드의 모든 자식 노드와 그 자식 노드의 자식 노드,
그리고 그 이하로 내려가는 모든 노드들로 이루어진 트리를 말함- 전위순회, 중위순회, 후위순회에 대해서 이론으로 학습하고, 문제풀이로 결과물을 보면서 이해를 하는 시간을 가짐
Algorithms (실습)
[국비] 백엔드 과정
※ 오후 활동 ※
T : PM 13:00 - 18:00
SpringBoot
※ [학습 내용] ※
▣ SpringBoot - REST
- Controller
- 빈 Controller Class만 생성된 것을 가지고 Restful Api에 대해서 한번 더 학습을 위해 각 Method의 기능별로 필요한 Type과 Service를 통해 HTTP통신을 할 수 있도록 채워나감- Service
- CRUD에 필요한 각 method의 type과 Entity를 이용하여 Controller에게 필요한 기능을 만들어주는 작업을 함- DTO
- Entity의 값을 Dto에서 재사용성을 높여서 필요한 곳에 이용할 수 있도록 작업- Repository
- 관련 Entity와 Type[ID]를 이용하기 위한 작업- PostMan
- HTTP 통신을 하면서 Restful API를 잘 설정하였는가를 Test하는 작업
SpringBoot (실습)
KDT 학습내용 용어정리
※ [정리내용] ※
1. REST, REST API, RESTful
- [URL] : (https://www.notion.so/BE-Back-End-c110301ad06c4751bca9f3b5a0025c13?p=429eaf24f907405fa28506a904137b6c&pm=s)
KDT 학습내용 용어정리(노션내용 일부)
마무리
- 오전 Tree자료구조에 대해서 이론적으로 학습하고, 종류와 그리고 실습으로 전위순회, 중위순회, 후위순회에 대해서 로직을 구현할때 이론적으로는 이해가 되었지만, 막상 코드를 짜면서 과연 결과가 내가 생각한대로 잘 나오는가에 대해서 기대하지 않고 출력했는데, 왜 이렇게 출력이 되는지에 대해서도 강사님께서 상세하게 풀이를 해주시면서 좀더 깊게 이해를 할 수 있었고, 그 외에 트리종류에 대해서도 따로 정리하였고, 오후는 SpringBoot Restful Api를 한번 더 CRUD를 어제와는 다르게 빈 클래스를 주면서 스스로 코드를 짜면서 이해를 하는 시간을 가졌고, 퀴즈형태로 Controller, Service, Repository, Entity, Dto를 통해서 왜 이런기능일때 필요한 애노테이션은 무엇이며 의미하는 것은 무엇인가에 대해서도 알게되었고, try-catch문을 사용하면서도 왜 예외처리를 해줘야 하는지에 대해서도 찾아보고 내것으로 만들려는 작업을 실시하였다. Restful api를 이용하기 위해 PostMan Build api를 이용하여 HTTP통신을 하면서 해당 메서드의 기능들이 잘 표현되는가, 원하는 값이 DB에 잘 들어오고 조회를 할때 잘 표현이 되는가를 확인하면서 계속해서 반복을 통해 Restful Api를 어떻게 작성하고 Test를 해야하는지를 알게되어 기쁘다. 해결이 되지 않는 부분은 스스로 찾아보고 검색을 통해서 해결하고 이렇게 정리하면서 한번 더 상기시키는 점이 너무나도 도움이 많이 되는 것 같다. :)
'개발자 취업 프로젝트[일지]' 카테고리의 다른 글
💻개발자가 되기 위한 프로젝트(98)💻 (0) | 2023.06.23 |
---|---|
💻개발자가 되기 위한 프로젝트(97)💻 (0) | 2023.06.22 |
💻개발자가 되기 위한 프로젝트(95)💻 (0) | 2023.06.20 |
💻개발자가 되기 위한 프로젝트(94)💻 (0) | 2023.06.19 |
💻개발자가 되기 위한 프로젝트(93)💻 (0) | 2023.06.18 |