728x90 반응형 전체 글318 자동 매매가 켜진 동안의 검색 차단, 전량 매도 안내, 10분 타이머 코인 자동 매매 앱에서 자동 매매가 켜진 동안 사용자가 하면 곤란한 일들이 있다. 매매 중인 코인을 바꾸러 검색 화면으로 가는 것, 남은 코인이 있는데 전량 매도 방식이라는 걸 모르고 켜는 것 같은 일이다. 2025년 5월과 11월에 이런 부분을 작은 커밋 세 개로 막고 안내했다.매매 중에는 검색으로 못 가게5월 18일 오후 2시 53분 커밋은 '자동 매매 활성화 상태에서는 검색 기능 비활성화'였다. 차트 화면의 검색 버튼은 원래 바로 코인 검색 화면으로 이동했다. 이제 자동 매매가 켜져 있으면 안내 창을 띄우고 이동하지 않는다.binding.buttonSearch.setOnClickListener { if (viewModel.autoTradingEnabled.value == true) { .. 2026. 11. 12. API 키 없이도 둘러볼 수 있게 게스트 로그인을 붙인 기록 코인 자동 매매 앱은 처음 들어갈 때 거래소 API 키 프로필을 골라야 했다. 2025년 5월 18일 새벽 1시 16분에 게스트 로그인을 넣었다. 5월 24일 밤 10시 4분에는 게스트 잔고 조회를 막고, 계좌 조회가 401로 실패하면 게스트로 전환하도록 고쳤다.게스트는 키가 빈 프로필이다게스트도 기존 API 키 프로필 구조를 그대로 썼다. 이름은 '게스트'이고 access key와 secret key는 모두 빈 값이다.로그인 화면의 게스트 버튼은 같은 이름의 프로필이 있으면 그걸 고르고, 없으면 새로 만든다. 일반 프로필 목록과 UI 상태에서는 이름으로 게스트를 걸러 숨겼다.거래 기능은 막고 서비스 검사는 통과시켰다차트 화면은 현재 프로필의 두 키가 모두 비었는지로 게스트 여부를 판단한다. 매수, 매도.. 2026. 11. 12. 미완성 매매 방식을 막고, 방식을 바꿀 때 나던 크래시를 고친 기록 코인 자동 매매 앱에는 매매 방식이 여러 개 있다. 지표 매매, 분할 매매 같은 방식을 고르는 화면이 따로 있고, 차트 화면은 지금 어떤 방식이 켜져 있는지 표시한다.2025년 4월 27일과 5월 7일, 이 매매 방식 선택 주변을 두 번 손봤다. 한 번은 덜 만든 방식을 막았고, 한 번은 방식을 바꿀 때 나던 크래시를 고쳤다.덜 만든 지표 매매는 고르지 못하게4월 27일 오후 2시 1분 커밋은 '지표 매매 미완성 기능으로 선택 제한'이었다. 매매 방식 선택 화면의 startTradingWithMethod 맨 앞에 검사를 넣어서, 지표 매매를 고르면 안내 창만 띄우고 끝낸다. 설정 확인 창으로 넘어가지 않는다.if (method == "indicator") { android.app.AlertDialo.. 2026. 11. 12. 자동 매매 스위치를 꺼도 남던 서비스와 주문 선을 정리한 날 코인 자동 매매 앱에서 자동 매매 스위치를 끄면 매매가 멈춰야 한다. 그런데 기존 정지 경로는 매매 루프만 멈추고 서비스와 웹소켓 정리까지 이어지지 않았다. 2025년 4월 27일 저녁 6시 44분 커밋 메시지는 '자동 매매 버튼 온, 오프 상태 확실하게 수정. 체결 감시 2초->0.5초 변경.'이었다.끄는 신호를 두 번 보냈다고치기 전에는 스위치를 끌 때 ViewModel이 ACTION_STOP_TRADING 인텐트를 보냈고, 서비스는 tradingActive만 false로 바꿨다. 이 경로에서는 서비스 종료나 웹소켓 닫기를 호출하지 않았다. 이번에는 서비스 쪽에 stopTradingService() 호출을 붙였다.ACTION_STOP_TRADING -> { // 트레이딩 중지 동작 trad.. 2026. 11. 12. WebView 앱에 나라별 언어를 붙이며 네이티브 브리지로 JSON을 넘긴 이유 DIP 스위치 계산기는 화면 대부분이 WebView 안의 HTML과 JavaScript이고, 바깥 안드로이드 쪽은 광고와 손전등 같은 기능만 맡는다. 2026년 4월 9일 오후, 이 앱에 나라별 언어를 한 번에 붙였다. 문자열은 두 군데에 있었다. 하나는 네이티브 토스트와 접근성 설명, 다른 하나는 WebView 화면과 튜토리얼 문구다.네이티브 쪽은 strings.xml네이티브 문구는 안드로이드 방식대로 갔다. '카메라 접근 권한이 없습니다.' 같은 토스트와 WebView의 contentDescription을 getString(R.string...)으로 바꾸고 values-ja, values-zh-rTW 같은 폴더를 만들었다. 기본 values 말고 21개다.바뀐 토스트는 카메라 권한 없음, 카메라 ID.. 2026. 11. 12. 로컬 HTTP 핸들러의 if 사슬을 라우트 테이블로 바꾼 날 하드웨어 테스트벤치의 로컬 HTTP 서버는 BaseHTTPRequestHandler 하나로 화면 파일과 API를 같이 내준다. 처음에는 do_GET과 do_POST 안에 경로별 if가 줄줄이 붙어 있었다. 2026년 6월 11일 오후, 이 if 사슬을 경로와 처리 함수를 짝지은 라우트 테이블로 바꿨다.if 사슬에 반복되던 것들고치기 전 do_GET은 경로마다 같은 일을 되풀이했다. 쿼리를 쓰는 API는 매번 urlparse와 parse_qs를 다시 불렀다. 값 하나를 꺼낼 때도 (params.get("scanner") or [""])[0] 같은 식을 그대로 썼다.16진수 채널 번호 변환도 경로마다 int(..., 16)을 직접 불렀다. 화면 파일 응답도 send_response, 헤더 두 줄, write.. 2026. 11. 12. 이전 1 2 3 4 ··· 53 다음 728x90 반응형