■ 과학인문융합 과제
•2019.09 ~ 2019.10
• 과제용 스마일 브레인 플랫폼 웹뷰용 웹 애플리케이션 전체 개발
• 퍼블리셔 용역 결과물을 JSP에 적용하여 Spring MVC로 개발
• MultipartFile 클래스를 활용하여 서버 파일시스템에 파일 업로드 및 조회하여 동영상 재생 기능 개발
• 백엔드/프론트 모두 Youtube API 연동하여 지정된 검색어에 맞춰 동영상 목록 제공 및 재생 기능 개발
• 자사 변수를 활용하여 개발된 뇌건강지수를 대시보드에 표시하며 Rule Base에 따라 생활 개선 안내
• IoT 활동량, 집계 데이터를 통한 자사 변수와 대상자 설문, 병력 등에 대한 상관관계 분석 지원 통계 API 구현
• 사용 기술
• Java 8, Spring Boot 2, Spring Data JPA, MyBatis, Vue.js(라이브러리 방식으로 적용하여 목록 구현)
■ 대림시운전 - 코콤 단지서버 컨버터 클라이언트 구축
• 2019.06 ~ 2019.10
• Netty를 활용한 양방향 TCP 클라이언트 어댑터 구축(시운전 서버 – 어댑터 – 아파트 월패드 서버)
• 서로 다른 인터페이스의 변환을 수행하며 신축 아파트의 스마트홈 시스템 시운전 수행
• 양쪽의 프로토콜에 맞춰 ByteBuf를 사용하여 프로토콜 요청 및 응답 처리 구현
• 커맨드에 따라 도메인 설계를 바탕으로 비즈니스 로직 수행
• 커맨드 규칙에 맞춰 커스텀 어노테이션 생성하고 빈(Bean) 팩토리를 만들어 팩토리 패턴으로 서비스 구현
• 양쪽에서 오는 요청/응답 처리를 동기화 시키기 위해 중간에 Blocking Queue를 사용
• 아파트 월패드 설정 정보 DB 조회시 JSON 데이터 컬럼에 대해 MyBatis TypeHandler를 적용하여 처리
• 여러 커맨드에 대한 요청 결과를 조합하는 과정에서 비동기 관련 Java의 Future/Callable 사용
• 사용 기술
• Java 8, Spring Boot 2, Netty 4, MariaDB, MS-SQL
■ 미세먼지 신호등 플랫폼 개발
• 미세먼지 신호등 장치에 표시할 해당 지역에 대한 기상/환경 정보를 제공하는 플랫폼 개발
• Spring Schedule으로 기상청 동네예보, 기상청 특보, 에어코리아 대기오염 관련 API를 주기적으로 수집 및 저장
• 신호등 장치와 통신하는 Netty 기반 TCP 서버 개발
• Spring Boot, MVC, JPA, JSP, Bootstrap으로 장치기를 관리하는 ADMIN 사이트 개발
• Spring Boot, MVC, JPA로 신호등 설치 앱에서 사용하는 서버 개발
• 앱에서 요청한 tm 좌표 정보로 RestTemplate으로 공공데이터API를 이용하여 근접 측정소 및 지역 정보를 설정
• 사용 기술
• Java 8, Spring Boot 2, Netty 4, Vue.js, Bootstrap, MariaDB, JPA
■ Telecare Service Platform 서비스 개발 및 운영
• 2017.12 ~ 2019.11
• 홈 IoT 장비로부터 센서 데이터를 받고(Netty) 데이터를 후처리하여(Spring MVC) 데이터베이스에 저장
• 저장된 데이터로부터 생성한 서비스 지표(AIX, Movement Pattern 등)와 센서 상태, 기타 케어 서비스 등을 제공하는 IoT 서비스 플랫폼
• Family(민간서비스 웹/모바일 앱), Admin, 데이터 분석 사이트 등 관련 13개 프로젝트 개발/운영
• 기존 C, PHP 등으로 개발된 것들을 Netty, Spring Boot를 사용하여 Java 언어 베이스로 컨버팅 함
• 1개의 마스터 DB로 운영하다 갑작스러운 사용자 증가로 백업 시간이 늘어나 장애 발생하여 긴급하게 MariaDB 이중화 / 몽고DB 레플리케이션 처리하여 장애 해결
• 회사 자체 프로토콜을 사용하여 Netty로 IoT 데이터 전처리 TCP 서버 구축할 때, Netty가 강점으로 내세우는 Bytebuf 모델을 사용
• Highchart.js로 월별 MovementPattern(집안에서 장소 이동 패턴) 데이터 시각화하여 케어 대상자 패턴 확인
• Spring Boot OAuth를 사용하여 OAuth 2.0 인증서버/리소스서버/개발자센터 개발하여 타사, 과제 용으로 자사 API 연동을 용이하게 하고 보안성을 높임
• Family 웹 애플리케이션이 사용자 유형이 나눠져 있어 자동로그인 구현을 위해 Spring Security 리멤버미 인터페이스 구현체를 직접 구현하여 개발
• 보호자/보건소 용 대시보드에 사용자 IoT 장비 및 서비스 지표 상태 조회 기능을 튜닝하여 20분 → 10초로 단축(최초 로드 후 비동기로 주기 관찰 대상 지표만 최신화 하므로 사업상 용인된 시간 수준)
• ELK를 구축하여 IoT 장비의 주기 수집 정보를 로깅하여 5분마다 오는 주요 커맨드에 대한 모니터링 구축하여 해당 커맨드가 부족하거나 Fail 되는 부분 확인
• 사용 기술
• Java 8, Spring Boot 1.5 ~ 2, Netty 4, MariaDB, MongoDB, ELK
■ IoT 홈 서비스 계약/상품 관리 백오피스(CCBS) 개발
• 2018.04 ~ 2018.10
• IoT 서비스 계약자/케어 대상자 관리, 자동이체 정보, 상품, 할인, 장치, 상담 관리 등 백오피스 개발
• 전체적으로 Spring Boot, MVC, JSP로 모놀리틱하게 구성
• DataTabales, jQuery, Vue.js, Bootstrap 활용하여 프론트 개발
• 통신사처럼 상품, 장비 구성, 약정, 할인 등으로 계약 내용을 설계
• 사용 기술
• Java 8, Spring Boot 2, Vue.js, Bootstrap, MariaDB
더보기