해외 주식 거래 서비스
해외 현지 투자자가 시세 조회 · 주문 · 보유 종목 관리 · 시장 소식 확인에 쓰는 증권사 주식 거래 앱에서 기능 개발과 유지보수를 맡았습니다. 시세와 주문이 어긋나 보이면 투자자는 앱을 믿지 못하고, 인증에서 막히면 거래를 시작하지도 못합니다. 문자로 받은 인증번호로 들어오는 로그인과 현지 행정구역에 맞춘 주소 입력을 새로 만들었고, 실시간 시세 · 관심종목 · 주문 화면을 오가며 생기는 오류를 찾아 고쳤습니다. 같은 회사의 다른 나라 앱과 같은 기간에 함께 맡아, 공통으로 고칠 것과 이 나라에만 필요한 처리를 나눠 반영했습니다.
인증번호가 늦어도 다음 행동이 보이는 로그인
주식 거래 앱의 로그인은 휴대폰 문자로 받은 인증번호를 입력해야 끝납니다. 인증번호 요청, 입력, 검증, 만료, 재전송, 실패 횟수 제한까지 사용자가 실제로 마주치는 상태를 하나씩 화면 흐름으로 정리했습니다. 남은 시간과 재전송이 가능해지는 시점을 보여 주고, 다시 받을 때는 입력한 번호를 비우며, 같은 요청이 두 번 나가지 않게 막았습니다. 네트워크가 끊기거나 서버 응답이 늦을 때도 무엇을 하면 되는지 알 수 있도록 오류 문구와 버튼 상태를 상황마다 나눴습니다.

상위 지역을 고르면 하위 목록이 좁혀지는 주소 입력
증권 앱이 쓰이는 현지의 주소는 성 · 시 · 군 · 동 네 단계 행정구역으로 나뉩니다. 주소를 글자로 받지 않고, 상위 지역을 고르면 그 아래 지역만 다음 목록에 나오는 종속 선택으로 만들었습니다. 상위 값을 바꾸면 더는 맞지 않는 하위 선택을 비워, 존재하지 않는 조합이 남지 않게 했습니다. 지역 이름의 현지 표기와 고르는 순서, 필수 입력 조건도 앱 화면에 맞게 가공했습니다.

화면을 오가도 시세와 주문이 어긋나지 않게 잡은 거래 흐름
주식 거래 앱에서 실시간 시세, 관심종목, 주문 진입, 주문 화면 전환은 하나의 흐름으로 이어집니다. 투자자는 시세를 보다가 그 자리에서 주문을 내고, 현금 계좌와 신용 계좌의 주문도 같은 앱에서 냅니다. 이 흐름에서 나는 이슈를 분석해 고쳤습니다. 시세 데이터가 들어와 화면이 바뀌는 타이밍, 다른 화면에 갔다 돌아왔을 때의 상태 불일치, 예외 응답 처리처럼 투자자가 앱을 믿느냐에 바로 닿는 부분이 중심이었습니다. 이 흐름 위에는 메뉴를 옮기지 않고 거래 모드를 바꾸고, 목표 금액을 넣으면 수량이 채워지는 주문 화면이 있습니다.

다른 나라 앱과 함께 맡으며 나눈 공통 수정과 현지 전용 처리
주식 거래 앱의 유지보수는 같은 증권사의 다른 나라 투자 앱과 같은 기간에 함께 진행했습니다. 두 앱의 코드와 기능 차이를 비교해, 양쪽에 똑같이 넣을 수정과 이 나라 앱에만 필요한 처리를 나눠 반영했습니다. 새 요구사항을 넣은 뒤에는 기존 로그인, 주문, 시세 조회 흐름이 영향을 받지 않았는지 함께 점검했습니다.

이 작업의 포인트
인증번호 요청부터 재전송 · 횟수 제한까지 정리한 문자 인증 로그인
성 · 시 · 군 · 동 네 단계로 좁혀 고르는 현지 주소 입력
시세 갱신 · 화면 복귀 때 어긋나는 상태를 잡은 거래 화면 유지보수
인사이트
GA4 client_storage: 'none'은 정말 쿠키를 막을까?
두 달 전 이 블로그에 「GA4 쿠키 없이 쓰기」라는 글을 썼습니다. clientstorage: 'none' 으로 쿠키 저장을 끄고, 자체 분석이 쓰던 익명 ID 를 clientid 로 넘기면 쿠키 0개로 GA4 를 쓸 수 있다는 내…
GA4 Measurement Protocol: gtag.js 없이 서버에서 이벤트 보내기
랜딩 페이지의 전송량을 파일 단위로 쪼개 보다가, 가장 큰 파일이 우리 코드가 아니라는 것을 알았습니다. Google Analytics 의 gtag.js 였고, 방문 한 번에 176KB 를 받고 있었습니다. 페이지 전체가 1,094K…
중소 제조업 AI 도입 순서: DX를 먼저 끝내야 할까?
공장을 가진 중소·중견 제조기업 16만여 곳 가운데 스마트공장을 도입한 곳은 19.5%입니다. 회사가 작을수록 이 비율은 더 떨어집니다. 중소벤처기업부가 2025년 4월에 낸 제1차 스마트제조혁신 실태조사 결과입니다. 그림: 기업 규…
Next.js loading.tsx와 404: 버튼이 화면보다 먼저 살아나게 하기
관리 화면 왼쪽 위에 사이드바를 접고 펴는 ☰ 버튼이 있습니다. 폭 하나 바꾸는 버튼인데, 대시보드에서 누르면 2초 넘게 아무 반응이 없었습니다. 레이아웃만 바꾸는 일이 왜 이렇게 오래 걸리는지부터 들여다봤습니다. Next.js 16…



