본문 바로가기

Java 웹 프로그래밍67

[원티드 프리온보딩] 검색 기능의 구현 고민중인 것 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.
15일차 강의 후기 너무 프로그래밍 관점에 치우쳐서 객체 지향을 바라보게 되면 객체지향의 본질을 놓치기 쉬워진다. 객체지향 패러다임의 중심에는 객체가 있다. 객체지향에서 중요한 것은 애플리케이션의 기능을 구현하기 위해 협력에 참여하는 객체들 사이의 상호 작용이다. 객체들은 협력에 참여하기 위해 역할을 부여받고 역할게 적합한 책임을 수행한다. 스프링은 객체가 어떻게 설계되고, 만들어지고, 어떻게 관계를 맺고, 사용되는지에 관심을 두는 프레임워크. 하지만 객체를 어떻게 설계하고 분리하고 개선하고 어떤 의존 관계를 가질지 결정하는 것은 전적으로 개발자의 역할이며 책임이다. 스프링은 단지 원칙을 잘 따르는 설계를 적용하고자 할 때 필연적으로 등장하는 번거로운 작업을 편하게 할 수 있도록 도와주는 도구일 뿐이다. 스프링을 사용한다고.. 2022. 2. 7.
728x90