[한화시스템] BEYOND SW CAMP 15기 11주차 회고록

지니·2025년 4월 6일
1
post-thumbnail

[11주차 기간] 3월 31일 (월) ~ 4월 4일 (금)

1. 학습 내용

이번주에는 JPA에 관한 학습을 모두 완료하고 Rest APISpring Security에 관해 학습했다.

1-1. JPA

JPQL과 Native query, Spring에서 JPA를 적용시켜서 사용하는 방법에 관해 학습했다.

  • JPQL이라는 것은 JPA의 단점을 보완하기 위한 것이다. JPA는 복잡한 쿼리를 작성하는데에는 한계가 있다. 밑에는 JPQL에 관해 학습하고 정리한 내용이다. 정말 간단한 문법에 관해서만 정리했기 때문에 앞으로 내용을 더 정리할 예정이다.

    🔎 JPQL이란?
    : JPQL은 엔터티 객체를 중심으로 개발할 수 있는 객체 지향 쿼리

    https://velog.io/@dbwls89173/JPA-JPQL%EC%9D%B4%EB%9E%80-with.%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95

  • Native Query란 말 그래로 흔히 사용하는 쿼리를 그대로 가져와서 사용하는 것을 의미한다. 이도 JPQL과 같은 맥락으로 복잡한 쿼리를 작성하기에 힘든 JPA의 단점을 보와해주는 방법 중 하나이다.

  • JPA의 마지막 수업에서는 Spring과 JPA를 합쳐서 사용하는 방법에 관해 학습했다. 확실히 JPA를 사용해 사용하니 정말 편한 부분이 있었다. 다만, JPA에서 아직 Select을 할 때 잘 사용하지 못하고 있는 것 같아서 이 부분을 보완해야 겠다. (N:1, 1:N, N:M 관계에 있어서 정확하게 이해가 안됨) 아 그리고, N+1 문제를 처리하는 방법에 관해서도 확실하게 공부해야겠다.

1-2. Rest API

REST는 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일

  • 주로 json 형태로 주고 받는 것이 대표적이다.

  • Spring에서 사용할 땐, @RestController를 통해서 사용한다.

  • 이러한 rest api를 테스트 할 수 있는 프로그램이 있는데 바로 'postman'이라는 프로그램이다. 여기에서 위에서 작성한 코드를 실행한 postman에서 테스트한 것을 봐보자.

    보면 요청 방식과 url을 입력하면 이렇게 값이 json형식으로 반환되는 것을 볼 수 있다.

1-3. Spring Security

Spring Security는 사용자 정의 가능한 인증 및 액세스 제어 프레임워크

  • 우리는 로그인 하는 경우 토큰을 발급해서 이것을 통해 로그인 하는 방식으로 진행했다.
  • 전체 과정은 이런 방식인데, 너무.....어렵다.....ㅠㅠㅠ 여러 파일을 사용해서 하는 방식이기 때문에 파일도 너무 많고 어렵다고 생각했다. 그래도 과정만 계속 반복해서 보면 잘 알 수 있다고 하니 반복적으로 공부해야 겠다.

✅ Spring Security에 관한 설명이 나온 블로그
https://www.elancer.co.kr/blog/detail/235

사실 이 블로그는 내가 참고하기 위해서 여기에 작성한 것이다 ㅎㅎㅎㅎ

1-4. 2차 프로젝트

  • 이번주에 ERD 작성을 시작해 컨펌을 받고 수정했다.
    (우리가 작성한 erd를 잠깐 보여주면 이렇게 만들어졌다. 좀 많은 거 같지만...화이팅!!! )

  • 그리고, 깃허브에서의 여러 규칙을 정하고 엔티티를 만들어 본격적으로 코드를 작성할 준비가 끝났다. 사실 프로젝트와 관련된 부분은 나중에 따로 블로그를 자세하게 작성할 예정이라 여기에서는 이정도의 내용만 볼 예정이다.
    아, 나는 이번에 member와 관련된 부분을 할 예정이고 우선 패키지를 다 만들고 내용 작성을 시작했다.


2. 11주차를 되돌아 보며😊

2-1 느낀점

  • 알고리즘 문제 풀기
    이번주에는 노는 날을 포함해서 계획을 세웠다. 그래서 이렇게 그 날을 제외하곤 알고리즘 문제 풀기를 성공했다.

  • 매일 복습하기 with.주석
    매일 복습하기에 성공했다. 사실 배우는 내용이 어렵기 때문에 바로바로 복습을 진행해야 한다고 생각했다. 그래서 매일 배운 내용에 주석을 써가면서 공부를 했다. 앞으로도 배운 내용에 주석을 쓰면서 복습해야 겠다. 그리고, 한줄씩 주석을 달면서 공부하면 내가 뭐를 모르는지 확실하게 파악할 수 있어서 좋은 것 같다.

  • 알고리즘 스터디 진행
    최근 알고리즘 스터디를 진행하고 있다. 여러 명과 열심히 하는 덕분에 동기부여도 되고 최대한 열심히 하게 되는 것 같다. 그리고, 이 스터디를 통해 매일매일 문제를 1문제씩 풀고 있는데 정말 많은 도움이 되는 것 같다. 앞으로도 이렇게 진행하고, 앞으로 프로젝트 기간과 계속해서 겹치겠지만 그럼에도 꾸준히 문제를 풀어야겠다. 앞으로도 화이팅~!!

2-2 IMPROVE

  • 나만의 목표를 세워서 팀 프로젝트에서 꼭 해야하는 부분 완성하기
    프로젝트를 진행하면서 우리 조만의 목표가 있다. 그런데 우리 조의 목표에 맞게 나의 시간도 잘 분배해서 그날 그날의 목표를 설정해야 겠다. 그리고 이번 프로젝트의 경우 시간이 부족하기 때문에 해야하는 부분의 우선순위를 세워서 확실하게 끝낼 것은 끝내야 겠다.

  • 알고리즘 문제 풀기에 겁 먹지 말기
    가끔 알고리즘 문제를 풀다 보면 하....하면서 문제를 보자마자 겁을 먹는 경우가 있다. 그런데, 그냥 흐름을 따라가면서 잘 풀면 되는 문제임에도 문제 양이 길면 겁을 먹는 것 같다. 그런데, 차근차근 풀면 풀 수 있다는 마음가짐을 가지고 차근차근 풀어야 겠다. 그리고, 실제 코딩 테스트에서는 다 긴 문제들이 나오는데 미리미리 연습해서 자신감을 가질 수 있게 노력해야 겠다.

3개의 댓글

comment-user-thumbnail
2025년 4월 9일

오 전설의 우수회고글!

답글 달기
comment-user-thumbnail
2025년 4월 12일

우수회고 축하드립니다 ㅎㅎ

1개의 답글