반응형

지하철 3

[220525] Spring 경로 조회 미션을 하면서 배운 점

이번 미션에서는 지난 스프링 지하철 노선도 미션에 이어서 경로 조회 요구사항이 추가됐다. 최단경로를 찾아주는 dijkstra 알고리즘을 기반으로 제공되는 외부 라이브러리(jgrapht)를 이용하여 요구사항을 구현하면 됐기 때문에, 알고리즘 상으로는 크게 고민할 필요가 없었다. 그렇지만 아키텍처 설계 면에서도 배울 점이 없었던 건 아니다. 외부 라이브러리를 사용하는 미션이 처음이었던 덕분에, 오히려 이번 미션에서 굉장히 많은 것들을 배울 수 있었다. 이번 미션에서의 내 코드 및 PR 링크를 바탕으로 간단하게 내가 배운 점들 중 인상깊었던 점들을 포스팅해보도록 하겠다. 인터페이스를 활용한 외부 라이브러리 의존성 제거 이번 미션의 핵심 포인트인 듯하다. 나는 도메인 영역에서 jgrapht 외부 라이브러리 간선..

[220512] Spring - 지하철 노선도 미션을 통해 배운 점

이번 미션은 총 3단계로 구성돼있다. 1단계 - 지하철역/노선 관리 기능 (API 및 E2E test 구현에 익숙해지자) StationController를 참고하여 LineController 작성 및 비즈니스 로직 구현 Spring annotation 사용 불가! (@RestController 제외) JdbcTemplate 사용 불가 및 static Dao 자료구조 사용 E2E test 작성하기 2단계 - 프레임워크 적용 (스프링을 적용해보자) 스프링 빈과 스프링 Jdbc 사용 H2 database 사용 3단계 - 지하철 구간 관리 기능 (요구사항이 추가될 때를 경험해보자) 구간 등록/삭제 기능 구간 상행 등록, 하행 등록, 중간 등록, 상행 종점 삭제, 하행 종점 삭제, 중간 지점 삭제, 환승역 고려 ..

[220507] 우아한테크코스 4기 13주차 후기

레벨2가 시작한지도 2~3주가 지났다. 매주차 회고를 쓰려고 노력했지만, 바쁘다는 핑계와 귀차니즘으로 회고를 조금씩 미루게 되는 듯하다. 대신 학습한 내용들을 꼼꼼히 포스팅하는 데에 좀 더 집중했다. 이번 포스팅에서도 약간의 귀차니즘 때문에 아주아주 간단하게 회고를 작성할 듯하다 (ㅎㅎ..) -> 쓰다보니까 길어졌다... 레벨1에 이은 체스 미션 레벨1과 다른 점이 있다면, 스프링으로 체스미션을 구현해야 한다는 점이었다. 스프링을 사용해본 적은 있었지만, 얕은 지식으로 기술만 사용하고 있었던 상태였기 때문에 이번 미션이 마냥 쉽지는 않았다. 외래키 무결성 제약 조건 위배 등 db 에러도 많이 겪고, Javascript 지식 부족으로 인한 400 에러도 많이 보았다. 특히 스프링에 익숙하지 않아 많은 고통..

1
반응형