이력정리
2023-02-07
학력
개인 프로젝트
부동산 예측 프로그램
2018
AWS 에 앱을 올리긴 했었는데, 지금은 남아 있지 않습니다.
예측을 위해 최소 자승법이라는 식으로 예측을 했었고, 아래는 최소 자승법을 구현하기 위해 만들었던 LSM 이라는 클레스 입니다.
// 최소 자승법
public class LSM {
private DataSet arr;
private int a1; // x의 총합
private int a2; // y의 총합
private int a3; // x제곱 총합
private int a4; // xy의 총합
private int n; // 데이터 갯수
private int next;
private float a, b; // 근사식 기울기 및 y절편
public LSM(DataSet arr){
this.arr = arr;
next = 0;
setN();
setA1();
setA2();
setA3();
setA4();
setA();
setB();
}
public float getData(int i){
return a*i+b;
}
public float getNext(){
next++;
return getData(next);
}
public int getN(){
return n;
}
private void setN(){
n = arr.toList().size();
}
private void setA1(){
int sum = 0;
for(int i=1;i<=n;i++){
sum += i;
}
a1 = sum;
}
private void setA2(){
int sum = 0;
for(int i=0; i< n; i++){
sum += Float.valueOf(arr.get("avg",i).toString());
}
a2 = sum;
}
private void setA3(){
int sum = 0;
for(int i=1;i<=n;i++){
sum += i*i;
}
a3 = sum;
}
private void setA4(){
int sum = 0;
for(int i=0;i<n;i++){
sum += (i+1)*Float.valueOf(arr.get("avg",i).toString());
}
a4 = sum;
}
private void setA(){
if(a1*a1-a3*n != 0)
a = (a2*a1-a4*n)/(a1*a1-a3*n);
else
a = 1;
//(a4-b*a1)/a3;
}
private void setB(){
if(a1 != 0)
b = (a4- a*a3)/a1;
else
b=1;
}
}
경력
독서 통합 시스템 구축 / 운영
2015~2017
andriod, spring 로 개발을 했었는데, 이 당시는 기능 구현에 급급하였던 시절입니다.
당시 바코드 프린터와 rfid 리더기 등을 연동하기 위해 ativeX 등을 사용했던 기억도 있습니다.
admin, adminaccount, board, ask, faq, book, category, mail 등등 50개 정도의 controller 와 테이블이 존재했었습니다.
- app 개발 (andriod)
- cms 및 웹 화면 개발 및 구축 (spring)
- 키오스크 (spring)
한진택배 디브릿지 서버 구축 및 운송장 API 개발
2020
디브릿지는 api 를 ui로 만드는 솔루션인데, 해당 솔루션을 설치 및 몇달 상주하면서 운영까지 하는 것이 주요 업무였으며, 한진택배에서 요청한 api 를 만들어주고, 교육 가이드 까지 진행이 되었습니다.
아래는 요청했던 api 목록입니다.
- 디브릿지 서버 구축
- 운송장 api
- 주문, 배송 정보 api
- 원클릭 회원 관련 api
- 국제 api
- lg 안심번호 조회 api (tcp/ip)
- 현금영수증 api
- 고객의 말씀 api
- 행정안전부 일고시 api
API 개발이 주 업무였다보니, 관련 화면은 없으며, 아래는 실제로 출력 될 운송장의 출력가이드 이미지 입니다.
한국거래소 웹 서비스 운영
2018~2019
coreFRAME 이라는 자사 프레임웍으로 구축된 한국거래소 웹 서비스 팀에서 2년간 있었고, 이 당시에는 주로 서버가 죽지않기 위해 헬스체크와 아침마다 재기동 업무 및 현업 부서의 요청 처리를 수행하는 업무와 그리고 고객센터에서 처리하지 못한 문의사항을 처리하는 업무를 담당하였습니다.
- 웹 서버 운영 (coreFRAME)
아래 그림은 krx 홈페이지 메인 화면 입니다.
자사 솔루션 관리 ( webPonent CHART, GRID, bizXpress)
2020
coreFRAME 프레임웍으로 만든 자사 솔루션이 몇 가지 있었는데, CHART, GRID 는 바닐라 자바스크립트를 다루었고, bizXpress 는 java를 건들였는데, 버그를 찾고 고치고, app 버전업을 하는 업무를 담당하였습니다.
- 버그 픽스 및 고객 지원
- 수정했던 차트들
- 실린더 차트
- 선형 차트
- 원형 게이지 차트
- 방사형 차트
- 눈금 차트
- 한국 지도 차트
- 트리맵 차트
아래 그림은 웹포넌트 차트 중 일부 차트 입니다.
파일 다운로더
2020
휴대폰 인증 및 대용량의 데이터를 받을수 있는 app 으로 일렉트론과 바닐라자바스크립트로 개발하였습니다.
주요 구현 기능은 아래와 같습니다.
- 인증 프로세스
- phone
- ipin
- 팝업창
- child windows
- 알림창
- html5 notification api
- 파일 다운로드
- setSavePath 경로 지정
- pause 일시 중지
- resume 다운로드 재개
- canResume 다운로드 재개 여부
- cancel 다운로드 취소
- getReceivedBytes 수신된 바이트
- showSaveDialog 저장 대화 상자
- 대화 상자
- dialog
- 속도 제한
- throttel
사내 그룹웨어
2020
기존에 그룹웨어가 존재했었고, sim 이라는 개발 솔루션 개발 요청요구사항을 받는 사이트가 있었는데, 통합을 하고자 하였습니다.
모바일 퍼스트 개발을 하고자 하여, flutter 개발되었습니다.
아래는 당시 설계했던 화면 설계 중 일부이고, web, android 에서만 테스트를 해봤었습니다.
마이데이터
2021
데이터 3법 통과로 인해, 마이데이터 개념이 주목받고, 소비자는 데이터의 주권을 행사 할 수 있게 됨으로써, 금융기업은 개인의 동의하에 데이터를 제공해줘야 했었습니다.
대신증권의 사업자용 API 를 개발 했었는데, 이때 개발 했던 API 중 하나가 아래와 같습니다.
스마트 제조혁신 기술개발 사업
2022 ~
Asset Administration Shell?
AAS(Asset Administration Shell)는 정보 세계에 구현된 Asset들의 정보 및 기능들을 관리하기 위해 고안된 일종의 프로파일을 의미함
해당 사업의 주관회사로써 데이터 표준화 업무를 담당하였습니다.
AAS 라는걸 표준 규격을 이용하여 표준화 업무를 하였고 현재 진행형 입니다.
제조업에서 사용하는 제품, 공정, 설비, 품질, 환경 및 기타 등등을 표준화 하며, 이는 추후 제조 산업 전반에서 이용하게 될 데이터의 구조 정의를 의미합니다.
IOT 기반 지능형 항만 물류 기술 개발
2022 ~ 2023
IOT?
사람, 사물, 사물, 공간, 데이터 등 모든 것이 인터넷으로 연결되어, 정보를 생성, 수집, 공유, 활용되는 초연결 인터넷을 말합니다.
oneM2M?
oneM2M은 에너지, 교통, 국방 공공서비스 등 산업별로 종속적이고 폐쇄적으로 운영되는, 파편화된 서비스 플랫폼 구조 를 벗어나 응용 서비스 인프라(플랫폼) 환경을 통합하고 공유하기 위한 사물 인터넷 공동 서비스 플랫폼 개발을 위해 발 족된 표준화 단체이다.
oneM2M 표준 을 기반으로 하는 오픈 소스 IoT 서버 플랫폼인 모비우스로 센서 데이터 수집하는 core 서버를 개발하였습니다.
- 시스템 구조
- 연결 구조
- 소프트 웨어 아키택처
위 아키텍쳐는 모비우스 아키텍쳐 이며, 이 모비우스를 활용하여 기술을 개발하였습니다.
주로 센서데이터를 수집하여, 저장하고, 저장된 센서 데이터를 바탕으로 2차 서비스를 하도록 만들어 졌는데, 아래와 같은 역할을 합니다.
- open API를 담당하는 외부 업체에게 데이터를 전달
- web portal 에서 필요로 하는 데이터를 전달
- 스케쥴 서비스
- 통계 제공
여담인데, IoT 기반 지능형 항만 물류 센터가 실제 운영되고 있었기 때문에 테스트시에 조심스러운 부분이 있었습니다.
그래서 직접 데이터 연결하기전에, 따로 GateWay 역할하는 mqtt 서버도 만들어 구축하고, 이 mqtt 서버를 통하여 테스트를 진행했었는데,
테스트 진행시 토큰 구독 변경하는게 번거로워 아래와 같은 앱도 만들어서 테스트를 진행했었습니다.