2. 이것저것 해보고 싶은 것이 가득한 개발자
스포카 풀스택 프로그래머 18.11 - 현재
스포카 크리에이터 컨퍼런스 Hello World! 2019년에 XP지원하는 프로그램 유지보수하기
미림여자정보과학고등학교 개발전공 16.03 - 19.01
dooit0228@gmail.com
https://github.com/kimdoori
김두리(dudu)
3. XP 지원하는 프로그램?
도도 포인트 제품 중 아직 윈도우 XP를 지원하는 프로그램이 있습니다.
스포카 크리에이터 컨퍼런스 Hello World! 2019년에 XP지원하는 프로그램 유지보수하기
4. 도도 포인트를 아시나요?
스포카 크리에이터 컨퍼런스 Hello World!
• 태블릿 기반 포인트 적립 서비스
• 여러 제품들로 구성
1. 도도 포인트 스토어 - 태블릿 적립 서비스
2. 도도 포인트 어시스트 - POS 적립 서비스 (XP 지원)
3. 도도 매니저 - 고객 관리 서비스
4. 도도 메시지 - 마케팅 메시지 서비스
.
.
.
2019년에 XP지원하는 프로그램 유지보수하기
5. 도도 포인트 스토어
스포카 크리에이터 컨퍼런스 Hello World!
• 도도 포인트 적립 및 사용
• 고객 관리 화면
• 주로 고객 사이드의 제품
• 테블릿에서 실행
• 웹앱
2019년에 XP지원하는 프로그램 유지보수하기
6. 도도 포인트 어시스트
스포카 크리에이터 컨퍼런스 Hello World!
• 도도 포인트 적립 및 사용
• 고객 관리 화면
• 점주 사이드의 제품
• 주로 POS기에서 실행
• 윈도우 설치형 프로그램
2019년에 XP지원하는 프로그램 유지보수하기
7. 더 자세한
제품 설명은
스포카 크리에이터 컨퍼런스 Hello World!
도도 포인트 Youtube 채널
https://www.youtube.com/channel/UCyJc6kRltFFCHJw8h22L8Wg
도도 포인트 랜딩 페이지
http://www.dodopoint.com/
스포카 기술 블로그
https://spoqa.github.io/
2019년에 XP지원하는 프로그램 유지보수하기
8. POS 시스템?
스포카 크리에이터 컨퍼런스 Hello World!
어시스트 실행 환경
판매시점정보관리
판매와 관련한 데이터 관리 시스템
.oO(결제할 때) 테이블 선택, 결제를 진행하는 그 시스템이 POS
2019년에 XP지원하는 프로그램 유지보수하기
9. POS에서
돌아가는 제품
만들기
스포카 크리에이터 컨퍼런스 Hello World!
구형 POS가 많은 한국 매장 환경
윈도우 XP까지 동작을 커버해야 함
윈도우 XP는..
MS에서 2009년 4월 14일에 일반 지원을 중단, 2014년 4월 8일 연장 지원을 중단
모든 지원이 종료된 플랫폼
2019년에 XP지원하는 프로그램 유지보수하기
10. 어시스트 사용 매장 POS기 OS 버전 비율
스포카 크리에이터 컨퍼런스 Hello World!
• 전체 비율의 14%가 XP 매장
• 몇천 개의 매장
• XP 지원을 당장 중단할 수 없는 상태
2019년에 XP지원하는 프로그램 유지보수하기
11. XP 지원을 위해 신경 써야 하는 것
개발자가 신경 써야 하는 것
스포카 크리에이터 컨퍼런스 Hello World! 2019년에 XP지원하는 프로그램 유지보수하기
12. 해당 플랫폼을 지원하는 라이브러리인가?
스포카 크리에이터 컨퍼런스 Hello World! 2019년에 XP지원하는 프로그램 유지보수하기
Qt5 Qt4
미지원 🙅
지원 🙆
13. 어시스트
개발 환경
스포카 크리에이터 컨퍼런스 Hello World!
Python 2.7.x (3.8.x)
Qt 4.x (5.x) GUI 프로그램 개발에 쓰이는 크로스 플랫폼 프레임워크
PySide 1.x (2.x) Qt-Python 바인딩 라이브러리
deprecated된 플랫폼을 지원하려니
deprecated된 라이브러리를 사용할 수 밖에 없는 🤷
2019년에 XP지원하는 프로그램 유지보수하기
15. 구현은
할 수 있지만..
스포카 크리에이터 컨퍼런스 Hello World!
모든게 문제
언제 없어질지 모르는 심리적인 불안감
레퍼런스 📉 트러블 슈팅 힘듦
유지보수 어려움
deprecated된 이유가 있는데 따라가지 못함
2019년에 XP지원하는 프로그램 유지보수하기
16. 벗어날 수 없는 굴레
스포카 크리에이터 컨퍼런스 Hello World! 2019년에 XP지원하는 프로그램 유지보수하기
XP 지원을 중단할 수 있을까?
🤯&'🤯
새로운 방법을 시도해볼까?
라이브러리 버전을 올릴 수 있을까?
17. 좀 더 deep 하게
제품을 개발하며 겪은 이야기
스포카 크리에이터 컨퍼런스 Hello World! 2019년에 XP지원하는 프로그램 유지보수하기
18. SOA 아키텍쳐
스포카 크리에이터 컨퍼런스 Hello World!
Service Oriented Architecture
서비스 지향 아키텍쳐
하나의 큰 시스템을 구축할 때, 한 기능을 하나의 서비스로 잘게 쪼개서 개발
MSA(Micro Service Architecture)랑 비슷한 개념
2019년에 XP지원하는 프로그램 유지보수하기
19. SOA 아키텍쳐
스포카 크리에이터 컨퍼런스 Hello World! 2019년에 XP지원하는 프로그램 유지보수하기
도도 미션
도도 서버
도도 메시지
20. 서비스간 통신
스포카 크리에이터 컨퍼런스 Hello World! 2019년에 XP지원하는 프로그램 유지보수하기
server
어시스트
server
어시스트 스토어
21. 프로토콜의
필요성
스포카 크리에이터 컨퍼런스 Hello World!
서비스간 통신 📈
서비스 마다 제각각인 혼돈의 프로토콜
새로운 서비스에서의 재사용성 고려
통합된 프로토콜 정의 필요성
2019년에 XP지원하는 프로그램 유지보수하기
22. 서비스간 통신
스포카 크리에이터 컨퍼런스 Hello World! 2019년에 XP지원하는 프로그램 유지보수하기
server
어시스트
server
어시스트 스토어
protocol protocol protocol
protocol
protocol
Rust
TypeScript
23. DodoProto✨
스포카 크리에이터 컨퍼런스 Hello World!
강타입을 위해 Rust로 구현
Rust로 프로토콜 정의
Rust로 클라이언트 구현
PyO3를 사용해서 파이썬으로 바인딩
2019년에 XP지원하는 프로그램 유지보수하기
24. DodoProto😱
스포카 크리에이터 컨퍼런스 Hello World!
reqwest (HTTP 클라이언트) 라이브러리를 사용하여 클라이언트 구현
reqwest는 hyper 라이브러리에 의존
hyper 최신 버전이 XP에서 지원하지 않는 자체 TLS 라이브러리 사용
결론.. XP에서 사용 불가능한 프로토콜
실배포 못 함
2019년에 XP지원하는 프로그램 유지보수하기
26. XP 지원은 언제까지?
스포카 크리에이터 컨퍼런스 Hello World!
아직 XP 지원 중단을 결정하지 못 하고 있는 상태
2019년에 XP지원하는 프로그램 유지보수하기
2018년 3월
20%
2019년 10월
14%
27. 여러분들의
경험도
듣고싶어요 ✋
스포카 크리에이터 컨퍼런스 Hello World!
지원 중단 플랫폼을 지원한 경험
지원 중단 플랫폼을 지원했다가 중단한 경험
지원 중단한 라이브러리를 제품에 사용한 경험
지원 중단한 라이브러리를 제품에 사용했다가 업데이트한 경험
2019년에 XP지원하는 프로그램 유지보수하기