Email. [email protected]
Phone. 010-5432-7510
GitHub. https://github.com/cloudwi
Blog. https://cloudwi.tistory.com/
서비스는 “은 탄환이 없다.” 처럼 완벽보단 개선과 성장에 초점 맞춰야 한다고 생각합니다. 이를 위해 변화하는 상황에 빠르게 대응할 수 있는 역량과 적합한 기술, 방법을 선택할 수 있는 시야를 가지기 위해서 노력하고 있습니다.
서비스는 독립적으로 완성되지 않습니다. 때문에 IT 비즈니스 로직과 현실 세계의 간극을 줄이기 위해 다양한 구성원들과 적극적인 커뮤니케이션 하며 문제를 정의, 해결, 협업하는 것을 좋아합니다.
주위에 데이터를 활용해서 실생활의 반복적이고 비효율적인 프로세스를 자동화하고 개선하는 것을 좋아합니다. 상품 구매를 위해 재고를 확인하는 단순/루틴 프로세스를 자동화하고 알림 서비스까지 연동한 경험이 있습니다.
Server Team | 정규직
2024.02.13 ~
반지형 혈압계 서비스 Cart를 개발 중 입니다.
그 중 펌웨어 업데이트 로직과 앱 업데이트 로직을 기여하고 운영 하고 있습니다.
버전은 1.0.2.12, 1.0.2.9 처럼 문자열로 정렬이 불가능한 구조를 가지고 있습니다.
때문에 문자열 처리가 필요 했고, 데이터 베이스에 버전을 정렬 할 수 있는 컬럼을 추가 하기로 했습니다. 정렬하기 위해서 Zero Padding 기법 사용하여 1.0.2.12 를 001 000 002 012 로 변환하여 저장했습니다.
위 방법도 단점이 존재했습니다. Copilot 처럼 999 이상의 버전이 발생하면 대응이 까다로워 진다는 것 입니다. 해당 이슈는 앱 개발자와 커뮤니케이션 하며 발생 가능성이 미약하기 때문에 반영 하는 것으로 결정 하였습니다.
추가적으로 최신 버전은 현재 1개만 존재합니다. 때문에 다양한 api에서 버전을 체크하는 로직을 사용하고 있어 Query 호출이 과도 하다고 생각했습니다. 따라서 Redis에 최신버전을 캐싱하여 Query 발생을 최적화 했습니다.
Redis 데이터의 신선도를 유지하기 위해서 admin에서 앱 버전을 신규로 insert 할때 Redis의 최신버전 데이터를 delete하는 방식으로 구현했습니다.