[GDG] 개발코스 6주차 WIL

2025. 8. 20. 01:44·팀 프로젝트/[2025][GDG]홍대 맛집 아카이빙 프로젝트

사진이 한 장도 없어서 넣은 사진. 네이버 앞에

 

아니... WIL 작성이 지난주까지였는데 그것도 모르고 1주일이나 지나버렸다..

그래서 지금이라도 작성하기로한다. 작성 기한인 8월 12일을 기준으로 작성합니다. 일부 내용은 인스타그램 데일리스크럼과 주간회고록을 참고했습니다.


배운것

전역Exception

https://dev-dx2d2y-log.tistory.com/29 

SimpleJdbcInsert

https://dev-dx2d2y-log.tistory.com/30

정적변수, 정적메서드, final, 포매팅, 캐스팅

https://dev-dx2d2y-log.tistory.com/32

JPA

https://dev-dx2d2y-log.tistory.com/33

Spring Security Config

https://dev-dx2d2y-log.tistory.com/34

https://dev-dx2d2y-log.tistory.com/35

투표기능 만들기 / 테스트 / 디버깅

https://dev-dx2d2y-log.tistory.com/36

https://dev-dx2d2y-log.tistory.com/37

https://dev-dx2d2y-log.tistory.com/39

https://dev-dx2d2y-log.tistory.com/40

https://dev-dx2d2y-log.tistory.com/41

https://dev-dx2d2y-log.tistory.com/42  


느낀점

JDBC를 쓸 때는 아주 어렵고 SQL문도 어렵고 짜증났었는데 JPA.. 대박이다 JPA는 신이다. 저번에 유튜브를 보다가 신입개발자 (지망생)은 JPA 같은 ORM만 띡띡(?)하는 것보다는 JDBC 같은 것을 통해서 직접 SQL쿼리문을 작성해보라고 했는데.. 둘 다 써보니까 그 이유를 알 것 같다. 아주편하다.

 

이 때는 갈피를 못잡는다고 해야하나 내가 지금 어디를 하고 있는지 몰랐다. 8주차 WIL에서도 쓰겠지만 이 때는 급하게 개발하는 중이라 어디까지 개발해야할지, 어떻게 코드를 개발해야할지 몰랐다. 그래서 7주차 때 일부 기능들이 겹치는 클래스들을 상속관계로 묶었다가 에러가 줄줄이 터져서 바로 풀어주는 등의 뻘짓을 많이 했다. 제일 어이없는 것은 정규화한다고 투표후보들 DB테이블에 상점ID와 득표수만 적어놨다가 현재 투표후보 리스트들을 요청하니까 상점이름이나 주소 등의 정보를 주지 않고 DB테이블의 ID를 줘버리게 바뀌는 일이 벌어져서 또 그거 수정한다고 좀 붙들고 있었다..

암튼 그래서 8주차 때 이 기능들을 다 디버깅하고 테스트 돌리고 API 연결 직전까지 작업해놓은 상태다. 확실히 개발을 하면서 다음은 알아야할 것 같다.

 

- 어떤 기능을 개발하려는지

- 그렇기 위해 클래스와 인스턴스를 어떻게 짤 것이고, 클래스 간 관계는 어떻게 할 것인지

- 클래스와 메서드가 어떤 역할을 하는지 분명하게 나누기

 

등을 나눠서 개발해야할 것 같다.

헤드퍼스트자바에서 (몇 장인지는 기억이 안난다) TDD 관련된 내용을 소개하면서 '준비 코드' - '테스트 코드' - '실제 코드'의 3가지 코드를 준비하여 완성도 높은 개발을 하라고 했는데 테스트 코드는 잘 몰라도 (TDD의 단점으로 지나친 테스트 의존도가 꼽힌다고 한다. 실제로 테스트 코드 따로 실제 코드 따로 짜려니까 좀 헷갈리기도 하고? 사실 나는 개발할 때 실제로 돌려보는 편이지 테스트 코드는 따로 짜지 않는다(사실 모른다)) 준비 코드 정도는 쓰면 훨씬 유용할 것 같다. 문제는 이 때는 시간에 치이면서 개발할 때라 준비 코드 같은 것은 짤 줄도 모르고 짤 시간도 적었다.

 

제일 신기했던 것은 Scheduled 어노테이션?

이게 매월 말일에 투표후보목록에 있는 가게 중 득표율이 가장 높은 3개를 홍슐랭으로 선정하고 과거투표저장용 DB에 보내놓는 뭐 그런 로직인데 이를 자동으로 매달 1일 0시 이런 특정한 시간대에 작동할 수 있도록 구현했다. 그게 제일 신기했음


시행착오

JDBC의 keyholder나 SimpleJdbcInsert 관련된 내용과 코드가 좀 많이 복잡한 편이어서 이해하기 힘들었던 부분이 크다. 확실히 JPA로 넘어오니까 DB접근도 쉬워지고 편하다.

 

사실 시행착오는 위의 느낀점에 적어놔서.. 저게 다다.

약간 비슷한 얘기긴하지만 저 때는 기능개발을 우선적으로 개발해서 내가 맞는 플로우로 진행 중인지 정도만 확인하고 다음 개발로 넘어갔는데 후에 7~8주차에 이를 확인하면서 에러가 터지는 부분은 잡고 수정해야할 부분은 수정하고 이렇게 넘어갔다. 무엇이든 기초가 중요한데, 그것이 없이 작업하려니까 좀 힘든느낌? 여러모로 기초의 중요성에 대해서 많이 배웠다.

'팀 프로젝트 > [2025][GDG]홍대 맛집 아카이빙 프로젝트' 카테고리의 다른 글

[GDG] GDG 프로젝트트랙 4기 백엔드 후기  (6) 2025.08.28
[GDG] 홍대 맛집 아카이빙 프로젝트 #22 - 데모데이 발표자료 준비  (0) 2025.08.27
[GDG] 홍대 맛집 아카이빙 프로젝트 #21 - 카카오지도 API 짧게  (2) 2025.08.18
[GDG] 홍대 맛집 아카이빙 프로젝트 #20 - mySQL과 각종 코드 보강하기  (6) 2025.08.18
[GDG] 홍대 맛집 아카이빙 프로젝트 #19 - OAuth 되살리기 및 정규화 보강하기  (3) 2025.08.16
'팀 프로젝트/[2025][GDG]홍대 맛집 아카이빙 프로젝트' 카테고리의 다른 글
  • [GDG] GDG 프로젝트트랙 4기 백엔드 후기
  • [GDG] 홍대 맛집 아카이빙 프로젝트 #22 - 데모데이 발표자료 준비
  • [GDG] 홍대 맛집 아카이빙 프로젝트 #21 - 카카오지도 API 짧게
  • [GDG] 홍대 맛집 아카이빙 프로젝트 #20 - mySQL과 각종 코드 보강하기
Radiata
Radiata
개발을 합니다.
  • Radiata
    DDD
    Radiata
  • 전체
    오늘
    어제
    • 분류 전체보기 (211)
      • 신년사 (3)
        • 2025년 (2)
        • 2026년 (1)
      • CS (59)
        • JVM (12)
        • 백엔드 (20)
        • 언어구현 (1)
        • 객체지향 (1)
        • 논리회로 (5)
        • 컴퓨터구조 (9)
        • 데이터베이스 (1)
        • 컴퓨터 네트워크 (10)
      • 언어공부 (64)
        • Java | Kotlin (48)
        • JavaScript | TypeScript (9)
        • C | C++ (6)
      • 개인 프로젝트 (11)
        • [2025] Happy2SendingMails (3)
        • [2026] 골든리포트! (8)
        • [2026] 순수자바로 개발하기 (0)
        • 기타 이것저것 (0)
      • 팀 프로젝트 (29)
        • [2025][GDG]홍대 맛집 아카이빙 프로젝트 (29)
      • 알고리즘 (13)
        • 백준풀이기록 (11)
      • 놀이터 (0)
      • 에러 수정일지 (2)
      • 고찰 (24)
        • CEOS 23기 회고록 (2)
  • 블로그 메뉴

    • CS
    • 언어공부
    • 개인 프로젝트
    • 팀 프로젝트
    • 알고리즘
    • 고찰
    • 신년사
    • 컬러잇 개발블로그
  • 링크

    • 컬러잇 개발블로그
  • 공지사항

  • 인기 글

  • 태그

    144
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Radiata
[GDG] 개발코스 6주차 WIL
상단으로

티스토리툴바