본문 바로가기
반응형

분류 전체보기714

TIL_211128 1. Facts(사실, 객관) - 프로젝트 스터디 테스트코드 작성 2. Feelings(느낌, 주관) 스터디 api controller 테스트 코드를 작성했습니다. 시큐리티, 기타 예외처리 등을 추가하면서 기존에 작성했던 프로젝트 코드들이 변동된게 많습니다. 물론 그때마다 테스트코드를 수정하고 고민하면 좋겠지만, 시큐리티의 경우 배움을 적용하다보니 테스트코드에서 문제가 있을 것을 예상했습니다. 그러면 너무 테스트코드에 시간이 많이 뺏겨서 오히려 시큐리티 공부가 안될거라 생각해 먼저 코드를 다 만들고 테스트코드를 수정했습니다. 그동안 테스트를 미룬탓인지 controller 검사를 위해 어떤 기능들을 썼는지 새로웠지만, 여러번 하다보니 다시 금방 익숙해졌습니다. 현재 모든 테스트들이 영어 메서드명으로 작성되.. 2021. 11. 29.
TIL_211127 1. Facts(사실, 객관) - 할인 설정 조직 선택 화면 만들기 2. Feelings(느낌, 주관) 할인 설정 조직 선택 화면을 만들고 있는데, 상품에 특정 할인을 먹일 수 있는 조직을 설정하는 화면이다. 계층형으로 되어있는 조직도에서 내가 원하는 조직을 선택해서 권한을 주는 방식인데, 조직레벨이 5까지 있다보니 그동안 설정이 까다로웠다. 사용하는 입장에서 공간이 부족하기 때문에 이전 선임이 화면을 계속 겹쳐서 만들었다. 가독성이 떨어진다 판단하여 길게 화면을 늘려서 조직 레벨들을 더 많이 여러개 보여줄 수 있는 화면으로 개선하면서 특정 조직만 선택할 수 있도록 개선하고 있다. 3. Findings (배운 점) 할인 설정 조직 선택 기능을 만들기 위해서 필요한 기능, 즉 작동 순서와 과정들을 잘 기록.. 2021. 11. 28.
TIL_211125 1. Facts(사실, 객관) - 주문 접수 자동화 (1/3) 완료 2. Feelings(느낌, 주관) 여러 시행착오와 도전 끝에, 계속 코드를 리팩토링 하면서 큰 3가지 주문 접수 단계 중, 첫번째 단계를 완료했습니다. 총 8개의 테이블에 데이터를 넣어야했습니다. 큰 비지니스 능력을 요구하기보다, 주어진 상황에서 조건에 맞게 값을 잘 넣도록 하는게 과제입니다. 자바단에서 처리해야하나 프로시져에서 처리해야하나 많은 고민을 했는데, 결국 프로시져로 처리했습니다. 주문접수를 진행하는 현업의 사번이 꼭 테이블에 들어가야 하는데, 혹시나 나중에 담당자가 바뀐다면, 어떻게 유지보수를 쉽게 할 수 있을까 고민했을 때, 자바단에 비지니스가 들어가면 서버를 다시 재기동해야 합니다. 하지만, 프로시져에 넣으면, DB에서.. 2021. 11. 25.
TIL_211124 1. Facts(사실, 객관) - 주문 접수 자동화 자바단에서 설정하기 2. Feelings(느낌, 주관) 주문 접수 자동화를 위해 서버단에서 설정하는 것과 프로시저 설정을 고민했는데, 시간적으로 여유가 있어서 자바단에서 설정을 했습니다. 주문자와 설치자가 다를 수 있는 변수, 개인이 아니라 사업자가 구매하는 경우 등 다양한 케이스들이 있는데, 먼저 하나의 정서적인 로직을 완성하고자 가장 보편적인 경우를 생각하고 작업하도록 했습니다. 고객과 주문에대한 히스토리 테이블도 있었는데, 처음에는 이 테이블에도 모두 따로 클래스를 생성하고 값을 넣어주도록 만들었습니다. 하지만, 말그대로 히스토리이기 때문에 이미 존재하는 고객과 주문 데이터를 이용하면 충분히 저장할 수 있어서 나중에 리팩토링할 때 제거했습니다. 미.. 2021. 11. 25.
TIL_211123 1. Facts(사실, 객관) - 프로젝트 크롤링 기능 개선 및 권한 추가 2. Feelings(느낌, 주관) 프로젝트의 서버가 정상 실행된다면 매일 밤마다 새롭게 올라온 교보문고 인터뷰 화면을 크롤링해서 저장합니다. 그런데, 로컬환경에서 작업중이어서 매일 서버를 킬 수 없으므로 놓치는 인터뷰들이 여럿이 있어서 수동으로 추가해야겠다는 생각을 했습니다. 이 기능은 어드민 관리자만 가능하도록 만들어야 했기 때문에 새롭게 ADMIN 관리자 계정을 추가하고 권한을 주었습니다. 또한, content를 검사해서 이미 존재한다면 다음 기사를 크롤링합니다. 크롤링 버튼도 원칙적으로 ADMIN만 보이도록 설정했습니다. 나중에 프로젝트가 모양을 잡아간다면, 어드민탭을 따로 만들어서 방을 관리하고 회원을 관리하는 기능을 만.. 2021. 11. 23.
TIL_211122 1. Facts(사실, 객관) - 홈페이지 일시불 결제 배송완료 스케쥴러 개발 2. Feelings(느낌, 주관) 홈페이지에서 일시불 결제를 하면 배송현황을 마이페이지에서 확인할 수 있습니다. 그런데, 물류파트가 연동되지 않았기 때문에, 실시간으로 물건 조회현황을 볼 수는 없습니다. 배송현황은 크게 결제완료, 배송준비중, 배송중, 배송완료, 결제취소 4가지로 구분하는데, 기간 시스템에서 출고의뢰, 출고확정, 설치완료, 취소 등의 구분칼럼을 보고 관리자가 직접 입력합니다. 이 번거로운 과정을 자동화하기 위해서 스케쥴러를 사용하도록 했습니다. 만약에 기간 시스템의 배송현황 칼럼들이 바뀐다면, 스케쥴러로 감지해서 확인하는 것입니다. 그렇게 많은 주문 건이 있지는 않지만, 나름 스케쥴러 감지를 통해서 현업의 업.. 2021. 11. 22.
TIL_211117 1. Facts(사실, 객관) - 홈페이지 일시불 결제 자동화 로직 계획, 일부 개발 - 수지원 주소검색 엔진 사용 2. Feelings(느낌, 주관) 일을 했는데, 어느새 역제안으로 현업들의 부담을 줄이는 고민을 하게되었습니다. 여러가지 중 최우선으로 고민한 부분이, 일시불 결제의 정보를 기간 ERP 시스템에 따로 등록하는 과정을 자동화 하는 것이었습니다. 그래서, 이 부분의 작업을 시작했습니다. 이미 홈페이지 테이블에 저장되어 있던 데이터들을 잘 가공해서 내부 기간 시스템에 알맞게 넣어주는 작업입니다. 엄청난 비지니스가 필요하다기보다 상황에 맞게, 현업이 수기로 하는 작업들을 전산에 바로 넣어주어야 했습니다. 따라서, 자바 비지니스로 해야하나, 프로시져를 타야하나 고민을 했고, 시간이 넉넉히 주어져서.. 2021. 11. 17.
TIL_211115 1. Facts(사실, 객관) - 주문취소 시, 알림톡 전송 개발 2. Feelings(느낌, 주관) 입금, 환불 등 돈이 오가는 코드들은 특별하게 더 신경을 쓰고 테스트를 해야했습니다. 계좌이체, 카드결제, 무통장 입금 등의 결제수단들이 있습니다. 특히 일시불 결제는 카드결제로 가능하며 나이스페이를 이용하기 때문에, 해당 방식으로 환불절차가 진행됩니다. 따라서 다른 경우가 아닌 일시불 카드결제 환불일 때를 감지해서 알림톡을 보내도록 해야합니다. 기존 코드도 결제방식이 계속 추가되거나, 바뀌는 부분들이 덕지덕지 있어서 코드가 굉장히 지저분했습니다. 따라서 신중을 가해서 확인하였고 테스트를 통해서 환불 때 알림톡이 정상적으로 발동되는지 여러 안전장치들을 걸었습니다. 3. Findings (배운 점) 환불 .. 2021. 11. 16.
TIL_211111 1. Facts(사실, 객관) - 개인프로젝트 권한설정하기 2. Feelings(느낌, 주관) 스프링 시큐리티를 사용하며 여러 사용법을 다양하게 적용해보고 있습니다. 메서드 수준에서 @PreAuthorize로 인가를 확인할수도 있으며, 애초에 Filter단에서 http로 접근을 제한할 수도 있습니다. 이번에는 단순히 사이트 접속이 아니라 특정 요청에 대한 권한을 추가하기 위해서 @PreAuthorize를 추가해보았습니다. 관리자만 특정 기능을 실행시킬 수 있도록 설계했는데, 생각보다 제대로 되지 않았습니다. stackoverflow에서 그 해답을 얻었는데 좀더 내부의 코드가 어떻게 짜여져 있는지 확인이 필요합니다. 3. Findings (배운 점) If you use hasRole('ADMIN'), in.. 2021. 11. 12.
반응형