본문 바로가기

개발자 취업 프로젝트[일지]

💻개발자가 되기 위한 프로젝트(100)💻

06.27.2023 - 학습 일지
[국비] 백엔드 과정
※ 오전 활동 ※
T : AM 09:00 - 11:50
Algorithms - Graph
※ [학습 내용] ※

Algorithms - Graph
  1. Graph
    - 그래프의 종류와 각 그래프의 종류에 대한 개념에 대해서 학습함
    - [종류]
      1. 서로소 집합
         - 서로 중복이 포함되지 않는 집합, 즉 교집합이 존재하지 않는 집합을 말함
         - [속성]
            - Make Set(x) – x를 대표자로 하는 집합을 생성해줌
            - Find Set(x) – x가 속한 집합의 대표자를 반환함
            - Union(x, y) – x와 y의 집합을 하나로 합침
      2. 연결 리스트
         - 연결 리스트의 제일 앞 원소를 대표자로 취급
      3. 트리
         - 루트 노드를 대표자로 취급함
      4. 최소 신장 트리
         - 그래프의 정점과 간선 중 일부를 선택해서 구성하는 트리를 신장 트리라고 함
      5. 최소 신장 트리 – Kruskal 알고리즘
         - [기준]
            1. 간선을 가중치 기준 오름차순 정렬함
            2. 가중치를 낮은 간선부터 선택 이때 간선으로 인해 사이클이 생기면 다음 간선 선택함
            3. 선택한 간선이 N-1개가 될때까지 반복함
  2. 미로탐색[Maze]
    - 정점들을 판단하여 값이 범위내에 있는가를 검사하는 알고리즘 문제 풀이[BFS] 

  3. Programmers[타겟 넘버 문제]
    - DFS 알고리즘 문제 풀이

Algorithms - Graph (실습)

Algorithms - Graph[미로탐색:BFS]
Algorithms - Graph[타겟넘버:DFS]


[국비] 백엔드 과정
※ 오후 활동 ※
T : PM 13:00 - 18:00
SpringBoot - AOP
※ [학습 내용] ※

SpringBoot - AOP(관점 지향 프로그래밍)
  1. Controller
    - AppController를 생성하여 Domain => '/users'를 설정함[Mapping => Post, Get]
  2. Dto
    - UserDto에서는 HTTP통신시 Test data의 값을 save하고 해당 Entity를 이용하기 위한 작업함
    - ResponseDto에서는 HTTP통신시 UserDto의 Entity값이 올바르게 save되고 문제가 발생시 message를 남겨주는 역할을 하기 위한 작업함
  3. Asepct
    - LogginAspect 생성해 Asepct의 클래스를 이용하기 위한 작업으로 해당 Annotation의 기능별로 학습함
    - LogExecutionTime을 생성해 Method기능을 이용하고 Runtime이 일어날때까지 이용하는 Interface의 기능을 명시함
    LogArguments을 생성해 Method기능을 이용하고 Runtime이 일어날때까지 이용하는 Interface의 기능을 명시함
  4. PostMan
    - HTTP 통신을 하면서 각 Entity값이 잘 저장되었는가와 조회시 잘불러와지는가를 Test함
SpringBoot - AOP (실습)

SpringBoot - AOP[Gradle - DP(Spring-Web, Spring-Aop, Lombok, SpringBoot Devtools)]
SpringBoot - AOP[DTO - UserDto(왼) / ResponseDto(오)]
SpringBoot - AOP[Controller - AppController]
SpringBoot - AOP[1번 - Aspect → LogginAsect(Class) / 2번 - Aspect → LogExecutionTime / 3번 - Aspect → LogArguments]
SpringBoot - AOP[PostMan API를 이용하여 HTTP POST, GET Method를 이용하여 결과물을 확인]


KDT 학습내용 용어정리
※ [정리내용] ※
 1. SpringBoot - AOP [URL]
KDT 학습내용 용어정리(노션내용 일부)

SpringBoot - AOP정리


마무리
  - 오전은 어제 못한 미로탐색에 대한 알고리즘 문제를 풀이하였고, 추가로 Graph관련 종류와 이론을 진행하고, 프로그래머스 타겟넘버라는 문제까지 풀이하면서 마무리하였다. 어제와 동일하게 BFS, DFS관련 문제를 풀이하였고, 오후는 SpringBoot AOP[관점 지향 프로그래밍]에 대해서 이론을 배우고 AOP의 기능을 이용하면서 어떤 의미를 가졌고, 어떻게 사용을 하는지를 실습을 통해서 해당 애노테이션마다 기능에 대해서 주석으로 설명문을 적었고, 그외에도 AOP에 대해서 따로 노션에 정리를 하여 한번 더 AOP관련 기능과 개념, 사용법을 익혔다. 벌써 개발자가 되기 위한 과정을 작성한지 100일째가 되었다는 것이 믿기지가 않는다. 물론 아직 갈길이 멀고, 할 일도 많고, 익혀야하는 기능들이 많다. 하지만, 여전히 현재진행형이라는 점에서 긍정적으로 생각하고 있고, 열심히 달려가고 있다는 것에서 의미를 두고 있으며, 올해 9월에 KDT도 수료를 하기 때문에, 수료후 취업을 하여 원하는 개발자가 되어 예비개발자가 아니라 현직 개발자로써 기술블로그를 남기고 싶다. 개발자가되는 그날까지 계속해서 달려보자! :)