일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 탄력근무
- Node.js
- 백엔드스쿨
- Spring
- 백엔드
- 프로젝트진행
- 그래프탐색
- YBM전화영어
- 자료구조
- npm
- 개발자
- 자바스크립트
- webServlet
- 전화영어
- maven
- OAuth
- 원격근무
- 백엔드공부
- 최단경로문제
- 내돈내산
- BFS
- 교육철학과 교육사
- 프로그래머스
- 탐색알고리즘
- OpenAPI프로젝트
- JavaScript
- 제로베이스
- java
- 시급합니다
- Queue
- Today
- Total
인생자취
TIL | OpenAPI data기반 WebApp Project (1) 본문
본 글은 OpenAPI 데이터를 기반으로 WebApp을 생성하는 프로젝트의 과정을 담았다. 프로젝트 진행 과정을 정리한 글은 총 세 개의 글인 계획 및 Data 핸들링, 1차 기능 구현, 2차 기능 구현 및 검토로 이루어져 있고, 그 중에서 본 글은 계획 및 Data 핸들링에 해당한다.
들어가며
온라인 백엔드 스쿨에서 본 과제를 부여받았다. 과제를 진행중에 있지만, 아주 간단하게 세워놓은 계획을 조금씩 구체화하며 진행중에 있었다. 그 내용을 메모장에 정리해놨는데, 글로 짜임새 있게 정리하고자 했고, 또한 다음주에 진행하는 2차 구현을 위해서도 리마인드 차원으로 본 글을 작성하게 되었다.
진행과정
1. 본 과정을 진행하는 데 앞서서 이걸 어떻게 해야하나 엄청 고민을 했던 것 같다. MariaDB를 사용해서 과제를 진행하려고 생각했다. 하지만 MariaDB보다는 SQLite가 실무에서 더 많이 쓰인다는 과제 출제자의 의도에 따라 MariaDB로 구현해놓고, 세부적인 기능을 모두 구현한 뒤 DB만 바꿀 생각이다.
2. 과제와 관련한 구체적인 요구사항을 여러차례 읽으면서 요구사항을 하나씩 분석했고, 요구사항과 관련한 과제 진행 계획을 대략적으로 세워서 8월 4일까지 진행하였고, 다음주부터 어떻게 진행할 지에 대해서도 본 포스팅을 작성하면서 고민해봤다.
3. 과제 해결을 위한 방법이 뚜렷하게 그려지지 않아서 데이터 핸들링 기간에 프로젝트를 위한 프로젝트로 다음 절차를 진행했다. 절차를 진행하기에 앞서 서울시 Public Wifi Signification Key 발급이 필요하므로 발급 후에 아래 과정을 진행했다.
1) Wifi 정보를 API로 가져올 때, 데이터 형식이 어떻게 이루어져 있는가를 확인 > dump 데이터 형식으로 작성해봤음
CREATE DATABASE `SampleDB`;
USE `sample_table`;
DROP TABLE IF EXISTS `sample_table`;
CREATE TABLE `sample_table` (
`mgr_no` varchar(30) NOT NULL COMMENT '관리번호',
`wrdofc` varchar(20) DEFAULT NULL COMMENT '자치구',
`main_nm` varchar(50) DEFAULT NULL COMMENT 'WIFI명',
`address1` varchar(100) DEFAULT NULL COMMENT '도로명주소',
`address2` varchar(100) DEFAULT NULL COMMENT '상세주소',
`instl_floor` varchar(20) DEFAULT NULL COMMENT '설치위치(층)',
`instl_ty` varchar(50) DEFAULT NULL COMMENT '설치유형',
`instl_mby` varchar(50) DEFAULT NULL COMMENT '설치기관',
`svc_se` varchar(50) DEFAULT NULL COMMENT '서비스구분',
`cmcwr` varchar(50) DEFAULT NULL COMMENT '망종류',
`cnstc_year` varchar(50) DEFAULT NULL COMMENT '설치년도',
`in_out` varchar(100) DEFAULT NULL COMMENT '실내외구분',
`remars3` varchar(100) DEFAULT NULL COMMENT 'wifi접속환경',
`lat` varchar(100) DEFAULT NULL COMMENT 'y좌표',
`lng` varchar(100) DEFAULT NULL COMMENT 'x좌표',
`work_dttm` varchar(50) DEFAULT NULL COMMENT '작업일자',
PRIMARY KEY (`mgr_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
LOCK TABLES `sample_table` WRITE;
INSERT INTO `sample_table` VALUES
('---EP000001','은평구','갈현1동주민센터','갈현동 갈현로 301','갈현1동 1층','','7-1. 공공 - 행정','의견(자치)','공공WiFi','자가망_U무선망','2011','실내','','126.9167','37.62364','2023-07-27 10:58:30.0'),
.
.
.
2) dump 데이터를 생성한 뒤, Wifi 데이터들을 DB에서 CRUD 해보기.
3) OpenAPI를 사용해서 Gson library로 데이터 핸들링
: 이때, github에서 gson library를 사용한 샘플코드를 찾아봤다. 또한 OpenAPI 샘플 가이드를 참고하면서 진행했다.
4) dump data > DB 에서 OpenAPI > DB로 데이터를 가져오는 구조 변경 완성하기
마치며
프로젝트를 위한 서브 프로젝트로 데이터 핸들링을 하면서 데이터가 어떤 구조로 이루어져있는지를 알게 되었고, 처음에 ERD를 그리기가 왜 어려웠었는지까지도 알게 되었다. 구현하는 과정이 뚜렷하게 그려지지 않으면 일단 한 번 다른 기술 블로그나 구현된 내용을 보며 따라서 만들어보고 나의 방식으로 전환하는 방법을 택하니, 빠르게 구현이 되는 것을 알 수 있었다.
'개발 > Dev | 웹개발' 카테고리의 다른 글
TIL | OpenAPI data기반 WebApp Project (3) (0) | 2023.08.14 |
---|---|
TIL | OpenAPI data기반 WebApp Project (2) (0) | 2023.08.06 |
TIL | UX, DevEx 개선을 위한 수고로움 (0) | 2023.03.14 |
TIL | WEB / HTTP STATUS CODE / Software Architecture and Design (1) | 2022.09.23 |
TIL | Passport (0) | 2022.09.07 |