반응형

2025/02/10 5

[AIoT] 무인 사물함 프로젝트 MVC 모델 작성 Model-DTO

개요Model에 속하는 DTO는 Entity와 다르게 클라이언트와 소통을 할 때 사용한다.클라이언트로 전달 받은 Post요청의 RequestBody항목들을 파싱하는데도 사용하며클라이언트로 응답을 보낼 데이터를 정의하고 전달하는 용도로도 사용한다. DTO는 Entity와 달리 API가 추가 될 경우 지속적으로 추가될 가능성이 많다.DB작업을 통해 필요한 데이터만 보낸다는 느낌으로 이해하면 될 것 같다. 예를 들어 회원 정보 수정과 같은 내용을 생각해 보자클라이언트로 부터 받아야 할 데이터는 ID, 비밀번호, 닉네임, 이메일 등이 있을 것이다.그렇다면 클라이언트로 부터 온 Request정보를 우선 DTO로 받아준다.DB작업 이후 클라이언트에게 응답을 다시 보내줄 때는 성공 여부만 리턴해 주면 될것이다.이 처..

[AIoT] 무인 사물함 프로젝트 MVC 모델 작성 Model-Entity

개요프로젝트 명세를 기준으로 SpringBoot 서버에서 사용할 MVC모델을 제작해 보자이번엔 MVC 중 M에 해당하는 Model에 대한 정의를 할 것이다.그 중에서도 DB 도메인을 그대로 따올 Entity에 대해 작성해 본다.Entity는 DB의 테이블 정보 중 각 속성을 도메인에 맞게 파싱에 오는 느낌으로 보면 된다.따라서 DB에 수정사항이 없을 경우 한번 정의해 놓은 Entity는 변경될 일이 없다. 우선 관련 ERD를 먼저 참고해야 한다.해당 ERD를 기준으로 Entiy를 작성해 준다.단, RDBMS를 PosgreSQL로 선택하였으므로 일부 내용이 다를 수 있다.Entity를 가나다 순으로 오름차순 하여 작성하겠다.  AccessToken.javapackage com.a207.smartlocker..

[AIoT] 무인 사물함 프로젝트 관리자 관점 명세 정의

개요주제가 AIoT프로젝트인 만큼 웹 기술적인 면에서 API의 종류가 많거나 하지는 않다.따라서 사용자 페이지 이외에도 사용 이력 조회, 로봇 상태 조회, 유저 정보 조회, DAU, MAU 조회 등 관리자를 위한 페이지를 만들기로 명세하였다.관리자 명세는 하기와 같다.  관리자 로그인 기능 명세클라이언트에서 adminId와 adminPassword를 전달받는다.관리자 목록 테이블에 adminId가 존재하며 adminPassword가 일치한다면 로그인 성공 메시지를 리턴한다.만약 일치하지 않는다면 관련 메시지를 리턴하고 예외를 던져준다. 로봇 정보 출력 명세클라이언트로 부터 관련 요청이 올 경우 로봇 테이블에 존재하는 로봇 관련 칼럼 데이터를 모두 가져온다.클라이언트에게 로봇Id, 로봇이름, 작업 완료 횟..

[AIoT] 무인 사물함 프로젝트 사용자 관점 명세 정의

개요지난 기간동안 프로젝트 명세와 ERD 등 많은 변경 사항이 생겼다.따라서 해당 명세에 따라 DB 생성 조건이 변경되었다.우선 사용자 관점에서의 명세는 아래와 같다.  사물함 조회 명세사물함 위치에 따른 버튼 클릭 시 사물함 현황을 노출시킨다. A, B, C섹터가 존재한다.특정 섹터 터치 시 해당 섹터의 사물함 정보를 DB에서 가져와 클라이언트에 리턴해준다.각 섹터마다 60개의 사물함이 존재하며 사물함 Id는 곧 사물함 번호가 된다.lockerStatusId가 1인 경우 사용 가능, 2인 경우 사용 중, 3인 경우 수리 중으로 명시한다.해당 값을 통해 사용자가 보관 요청 탭을 클릭할 경우 사용 중이거나 수리 중인 사물함의 경우 클라이언트에서 터치 불가, 회색으로 명시 등 사용자에게 선택할 수 없음을 명..

[G2] 백준 10775번 공항 C++ 그리디 알고리즘, set, 이진 탐색

리뷰 https://www.acmicpc.net/problem/10775set과 upper_bound를 활용한 그리디 문제  전역 변수g : 게이트의 수를 저장할 변수p : 비행기의 수를 저장할 변수ans : 정답을 저장할 변수dic : 게이트의 상태를 저장할 정수형 집합 함수없음  문제풀이g, p에 값을 입력 받고, dic에 1 ~ g까지의 정수를 insert해준다.p번의 while루프를 개행해 주고, 매 루프마다 게이트 번호를 입력 받아준다.upper_bound 함수를 통해 dic에서 gate보다 큰 값의 이터레이터를 it에 저장해 준다.만약 it이 dic의 begin이라면 ans를 출력하고 main함수를 리턴해 준다.아니라면 dic에서 it의 앞쪽 데이터를 erase처리해 주고, ans를 1만큼 증..

728x90
반응형