본문 바로가기

Java 웹 프로그래밍68

[원티드 프리온보딩] 회사의 채용 공고 List 고민중인 것 1. 채용 상세 페이지를 조회시 해당 회사의 유효한(삭제되지 않은) 채용 공고 id 리스트를 가지고 오고 싶다. 복잡하게 할 것 없이 그냥 회사 id로 채용 공고 테이블을 조회해서 id만 뽑아 응답 객체에 넣어주려고 하는데 고민중인것은 회사 id를 따로 받을 것인지, 아니면 상세 조회에서 가지고 온 데이터에서 회사 id를 가지고 올 것인지 이 두 부분에서 약간 고민이 된다. 결론 1. PathVariable을 사용하는 것은 특정 리소스의 식별을 하기 위함인데 이는 해당 요구사항에는 어울리지 않는 것 같다. 그래서 우선은 조회해 온 채용 공고의 데이터에서 회사 id를 뽑아내 해당 id로 채용 공고를 조회하는 방법을 쓰기로 했다. 추가 고민 1. 그런데 PathVariable로 가져오면 쿼리 하.. 2023. 10. 8.
[원티드 프리온보딩] 검색 기능의 구현 고민중인 것 1. 검색 기능을 구현시 어떤 식으로 구현할 것인가 고민이다. 채용 공고를 키워드로 검색하여 해당하는 채용공고들을 보여줘야 하는데 현재 채용공고 테이블에는 4개의 컬림이 있고, 회사 테이블에는 3개의 컬럼이 있다. 간단하게 생각나는 방법으로는 단순하게 모든 컬럼에서 해당 키워드가 있는지 검색을 하는 것이다. (채용 포지션, 요구 스킬, 채용 보상금, 채용 내용, 회사명, 국가, 지역) 테이블에 데이터가 몇건 없다면 사실 큰 문제가 없으리라 생각하지만 데이터가 엄청나게 많다면 이는 분명 문제가 될 것이라고 생각한다. 그 다음으로 생각한 것이 채용 포지션, 요구 스킬, 채용 보상금, 채용 내용, 회사명, 국가, 지역 모두를 하나로 합쳐서 하나의 컬럼(예를 들면 키워드라는 이름의 컬럼)을 만들어 .. 2023. 10. 7.
[원티드 프리온보딩] Service와 ServiceImpl 고민중인것 1. 사실 지금까지는 개발팀 컨벤션에 맞춰서 Interface Service와 그를 구현하는 ServiceImpl을 따로 구현하는 식으로 개발을 해 왔다. 하지만 구현을 하면 할 수록 이게 올바른 방식일까 하는 생각이 많이 들었다. 이렇게 하는 이유에 대해서 물어보면 확장성등의 이야기들이 나온다. 어느정도 일리가 있다고 생각하지만 UserService는 이미 유저에 국한된 서비스를 제공할 것이고, CompanyService는 회사에 관련된 서비스를 제공할 것이다. 두 서비스가 가지는 공통적인 기능을 Interface Service로 뽑아서 이것을 구현한다면 모를까 굳이 Service와 ServiceImpl을 나눠야 하는 이유를 아직 잘 모르겠다. 2023. 10. 7.
[원티드 프리온보딩] 데이터 조회시 없는 경우 404를 내줄것인가 빈 JSON데이터를 내줄것인가. 고민중인것 1. 현재 등록되어있고 삭제되지 않은 모든 채용공고를 조회시 아무런 채용 공고가 없다면 예외를 발생시켜서 404 Not Found를 던져줄것인지, 아니면 그냥 빈 JSON 데이터를 내려줄것인지 생각 해봐야겠다. 2023. 10. 7.
728x90