본문 바로가기

학습/웹개발 직무 수행 중 메모

웹 운영만하다가 웹 개발하면 헤매니까 정리

넥사크로, JAVA(Spring MVC), Oracle + MySQL + JPA 운영 하다가 

Vue.js 3.0 + TypeScrypt + Node, JAVA(Spring MVC) + Oracle  차세대 개발 하니까 초반에 엄청 해멨었다.

 

다음에 덜 해메기 위해 정리한다.

 

1. 프로젝트 흐름

1) 분석 - 설계 - 퍼블 - 프론트 - 단테 - 통테

2) 분석 - 설계 - DB - 백엔드 - 단테 - 통테

프론트, 백엔드 둘다 해야 했으므로 둘다 정리한다.

프론트는 화면 설계서(Story Board)를 보고 만들고

백엔드는 화면 설계서와 ERD를 보고 만든다.

따라서 둘다 요청해서 받던지 사전 공유 받던지 해야 한다.

테이블 설계 개판이라 erd ㅈ망이면 하아..

 

2. Front 개발 순서

 - 조회 > 입력 > 수정 > 삭제 순으로 작성 한다.

 - 퍼블과 설계가 다르면, 퍼블에게 설계자와 협의된 내용인지 확인해서 만들고, 퍼블도 설계자도 컨텍이 안되면, 화면정의서 설계 내용을 기준으로 작성했다. (대부분의 SI는 책임 소지가 불분명해서 개발자 대부분 책임지는 ㅈ같은 업무 흐름)

 - 조회 : 조회 버튼 > 조회되는지 (API)확인(버튼 이벤트 > 데이터 바인딩 > 그리드면 그리드, 리스트면 리스트로 받아서 화면 출력) > 검색 조건 입력 부분 > 검색 조건 별 입력 확인

 - 입력 : 그리드에서 입력하거나, 팝업에서 입력하거나, 입력값을 넘기되, Array 받아서 Object로 넘길지, 객체의 형태를 확인해서 넘겨야함. > 벨리데이션(입력값 검증) 설정

 - 수정 : 선택한 내용의 키값으로 조회해서, 화면을 뿌려주고, 수정할 부분을 변경 > 벨리데이션(입력값 검증) 설정

 - 삭제 : 선택한 내용의 키값을 삭제

 

3. Back 개발 순서

 - 쿼리 작성 > dto, dvo, vo 선언 > 컨트롤러 > 서비스 > mapper  순으로 작성한다.

 - 쿼리 작성을 위해서는 업무프로세스를 알고 있어야 테이블 간의 JOIN 조건을 작성할 수 있다.

( ex: 상품이 삭제되도 기존의 거래 내용에서 상품은 출력되어야 한다. FROM 거래 이력 LEFT JOIN 상품 ON 거래이력.상품코드 = 상품.상품코드 )

 - 컨트롤러는 Restful API 설계에 맞춰서 보기좋은 url을 선언한다.

 - 서비스에서 Null safe 하게 변수 불러와서 사용한다.

 

4. 데이터서비스 등록, 페이지 등록, 메뉴 등록, 코드 등록

 - 데이터서비스는 RestApi 설계에 맞춰 작성된 uri 이다.

 - 페이지는 화면 설계서(Story Board 이하 SB)를 기준으로 만들어진 화면이다. 

 - 페이지 등록 후에 각 페이지에 맞는 데이터서비스를 등록해야만 해당 페이지에서 데이터서비스가 허용되도록 설정되어 있을 수 있어 맞춰줘야 한다.

 - 메뉴 등록은 등록된 페이지를 사용자가 웹 브라우저에서 확인할 수 있는 경로를 설정한다. 대부분 미리 협의가 되어 등록되어 있으므로, 누락된 것이 있다면 담당 PL이나 PM에게 문의해서 수정 요청해야 한다.

 - 코드 등록은 데이터베이스 테이블 데이터의 내용을 코드화한 값이다. 코드값은 분석 설계자가 대부분 진행하고, 누락된 부분만 추가 요청하거나 확인 요청해야 한다.

 

5. API 인터페이스, Batch

 - API 인터페이스 : 다른 기관의 서비스 기능을 가지고와서 사용할 때, 해당 기관의 데이터베이스 컬럼이나 기능에 맞게 수정하기 위한 내용을 작성한다. ( ex : OAuth)

 - Batch : 트리거는 보통 시간으로 작성하고, DB 테이블에 입력되는 건수인 경우도 있었다.

 

생각하니까 또 빡치네.. 하아 ㅅㅂ...