본문 바로가기

프로젝트/자리 있어요?31

[Eclipse, Tomcat] Error registering typeAlias for xxx 이미지를 저장하기도 전에 문제가 해결되었으나 일단 기록해본다. 제목에 해당하는 오류 메시지를 보게 되었고, 정상적으로 tomcat server를 시작할 수 없었다. 메시지에서도 servlet init에 문제가 있다고 되어있었다. 하지만 필자는 Mapper의 typeAlias를 위한 Configuration.xml에서 어떤 수정도 가하지 않았으며, 해당 type의 위치를 변경하지도 않았다. 그래서 오히려 더 당황했다. 해결(? 이라고 해야할 지는 모르겠지만, 어쨌든 필자는 정상적으로 server를 동작시키는 것에 성공했다. 다음은 필자가 취한 action이다. Oracle service 중지, 재시작 Eclipse 재시작 Configuration.xml file에 의도적으로 수정을 가한 후 ctrl + z.. 2022. 8. 17.
[Refactoring] 22.08.16. UsersController와 StoreController에서 여러 service logic 호출하는 method 살펴보기 Controller에서 하나의 service logic 만을 호출하도록? 지난 게시글에서 StoreService의 deleteStore에 대한 logic을 고민하면서 분기했던 logic을 UsersService의 deleteUser에 옮겨서 하나의 service logic으로 만들어서 UsersController의 delete method에서 하나의 service logic만을 호출하도록 바꾸었다. 이번 게시글에서는 그 나머지 마이 페이지 이동에 대한 호출인 UsersController의 info, StoreController의 검색 메인 페이지 호출에 대한 main과 매장 상세 정보 페이지 호출에 대한 goStoreDetail 에서는 어떤지를 살펴보려고 한다. 코드 뜯어보기 UsersController.. 2022. 8. 16.
[Refactoring] 22.08.15. 매장 정보 관리 페이지 (이어서) 매장 정보 관리 페이지 이전 매장 정보 관리 페이지 에서 이어서 작업하려고 한다. 살펴보고 싶은 내용은 매장에 대한 tag 관련 logic과 매장 정보를 삭제하는 logic에 대한 것이다. 코드 뜯어보기 StoreController.java Tag Logic myStore 지난 게시글에서 Http 의존성을 제거해준 controller의 myStore method는 매장 관리 페이지로 넘어가는 요청에 대한 처리를 해준다. 해당 과정에서는 tag를 화면에 출력하기 위한 logic이 있는데 이에 대해 살펴보고자 한다. Tag 정보를 저장할 때, List 그대로를 DB에 저장할 수 없었다. 그래서 tag 관련 List를 string 으로 바꿔서 DB에 저장하는 방식을 채택했었다. DB로부터 data를 받아올 때.. 2022. 8. 15.
[Refactoring] 22.08.14. StoreService Logic에서 Http 의존성 제거 StoreService에서도 Http 의존성이 굉장히 높은 것을 확인할 수 있다. 이 작업을 시작하기 전까지 다루었던 내용들 상당수가 그렇다. 이미지에서 확인할 수 있는 가장 하단의 카테고리를 추가하는 logic은 작업 시작하기 전에 다루지 않았으며, controller에 있는 나머지 3개의 method에서도 service logic에서의 의존성을 볼 수 있다. 이번 게시글에서는 이 작업을 시작하기 전까지 다루었던 controller의 method까지만을 다룰 것이다. 이어지는 Refactoring 게시글에서는 각 내용에 맞는 수정 작업을 하면서 동시에 Http 의존성을 없앨 예정이다. getList - getList Main page loading 에 필요한 매장 정보들과 paging 처리를 위한 da.. 2022. 8. 14.
[Refactoring] 22.08.12. UsersService Logic에서 Http 의존성 제거 UsersService의 method를 보면 상당히 많은 HttpServletRequest와 HttpSession 객체를 전달하고 있는 것을 볼 수 있다. 이제부터 이들에 대한 의존성을 제거하는 작업을 할 것이다. ajaxLogin - loginProcess Ajax로 로그인 과정을 거치는 controller의 method이다. HttpSession이나 HttpRequest와 같은 객체를 service 단에 넘기는 것은 Http 통신에 의존성을 높여 재사용을 어렵게 한다는 글을 보고 수정하는 첫 부분이다. 로그인을 위해 session 영역에 로그인 한 email 정보를 남기기 위해서 HttpSession을 사용한 것이다. 그래서 service logic을 보면 마지막 즈음 session에 'email' .. 2022. 8. 12.
[Refactoring] 22.08.10. Controller와 Business Service Logic (feat. Http) 리팩터링 중에 Service 객체끼리의 의존성이 존재하는 것에 대한 내용을 찾아보다가, service business logic은 Http 통신을 하는 Request, Session 등의 친구들과는 상관없어야 한다는 내용을 발견했다. /* * [ Controller에서 하는 작업] * * 1. 전송된 parameter 추출 가능 * 2. 특정 요청이 왔을 때 service를 이용해서 business logic을 처리하고 * forward 혹은 redirect 이동한다. * 3. HttpServletRequest, HttpServletResponse, HttpSession, ModelAndView * 등의 객체가 필요하면 method의 인자로 전달 받는다. */ ========================.. 2022. 8. 10.