Skip to content
블로그로 돌아가기
Release#제품#위젯#데이터

데이터 피드 게시: 내 키 없이도 남이 내 위젯을 돌리게

내 Binance나 OANDA 연결 위에 만든 위젯은 다른 사람에게는 쓸모가 없었습니다. 이제 그 위젯이 실제로 수행하는 읽기만 골라, 내 프로필 아래 읽기 전용·캐시된 엔드포인트로 게시할 수 있습니다 — 키를 공유하지 않고, 열린 프록시도 만들지 않고.

The Nexow Team8 분 읽기
데이터 피드 게시: 내 키 없이도 남이 내 위젯을 돌리게

공유에는 어색한 구멍이 있었습니다. 내 OANDA 연결 위에 멋진 FX 차트를 만들어 게시하면, 그것을 처음 설치한 사람이 보는 것은 이 데이터를 쓰려면 OANDA를 연결하세요 — 차트 한 장을 보려고 증권 계좌를 개설하라고 낯선 사람에게 정중히 요구하는 셈입니다. 라이브 스크린에서 공유하면 더 나빴습니다. 위젯이 썸네일로 얼어붙었으니까요.

해법은 누군가에게 키를 빌려주는 것이 아닙니다. 위젯이 실제로 수행하는 읽기를, 각각 독립된 엔드포인트로, 내 프로필 아래 게시하는 것입니다.

GET /<사용자명>/api/w/<widget>/<endpoint>?symbol=EUR_USD&interval=H1

게시 대화상자의 읽기 전용 데이터 피드 게시에서 켜면, 자기 연결이 없는 사람은 연결하라는 요구 대신 당신의 피드를 읽습니다.

세 가지 규칙, 그리고 각각은 하나의 거절

공유해도 안전한 읽기만. 게시할 수 있는 데이터 메서드는 열세 개입니다. 나머지는 각자의 이유로 막혀 있습니다. accountpositions도 읽기이지만, 돌려주는 것은 당신의 잔고, 순자산, 손익, 보유 포지션입니다. orderclosePosition은 돈을 움직입니다. upsertdelete는 데이터를 파괴합니다. scrape는 호출마다 제3자에게 과금합니다. 그리고 맨 http는 애초에 자격 증명이 없으므로, 게시해 봐야 당신 이름이 붙은 열린 프록시만 하나 생길 뿐입니다.

위젯이 실제로 보낸 호출만. 위젯이 도는 동안 성공한 읽기가 기록되고, 게시 대화상자는 그 목록을 보여줍니다 — Binance의 캔들 — BTCUSDT, 1h — 당신이 동의하는 구체적인 대상으로서요. 게시한 적 없는 파라미터를 요구하는 요청이나, 당신이 넓혀 둔 집합 바깥의 값은 무엇 하나 복호화되기 전에 거절됩니다. 애초에 URL에 들어갈 이유가 없는 파라미터 — SQL 쿼리, 벡터 — 는 URL에 결코 나타나지 않고, 저장소에서 그대로 재생됩니다.

거절은 서로 구별되지 않습니다. 존재하지 않는 엔드포인트, 범위를 벗어난 파라미터, 당신이 속하지 않은 대상 — 모두 같은 404를 돌려줍니다. 친구 전용 피드가 존재하는지 자체가 작성자에 대한 정보이므로, 응답은 그것을 결코 흘리지 않습니다.

누가 읽을 수 있고, 무엇을 치르는가

대상은 잊어버리기 쉬운 네 번째 스위치가 아닙니다. 공지 게시물을 따라갑니다 — 모두, 팔로워, 또는 친구. 비공개 공지는 피드를 완전히 끕니다. 나만 볼 수 있는 공지가 남들이 호출하는 엔드포인트를 떠받치는 것은 앞뒤가 맞지 않으니까요.

비용은 이해해 둘 가치가 있는 부분입니다. 사람들이 두려워하는 부분이기 때문입니다. 갱신 주기를 고르면 — 30초마다, 5분, 매시간, 매일 — 그것이 당신의 연결이 사용되는 최대치 입니다. 몇 명이 위젯을 열든 상관없습니다. 읽는 쪽은 캐시된 사본 하나를 공유합니다. 열 명이 보든 만 명이 보든 상류 호출 횟수는 같고, 여러 독자가 같은 순간에 캐시를 놓치더라도 한 주기에 실제로 도는 갱신은 정확히 하나뿐입니다.

당신의 키는 서버를 떠나지 않습니다. 잔고, 포지션, 주문은 결코 게시되지 않습니다. 그리고 피드는 목록 항목에 묶여 있어, 위젯을 목록에서 내리면 엔드포인트도 서비스를 멈춥니다.

보는 사람의 연결이 언제나 우선

게시된 피드는 대체재가 아니라 대비책입니다. 당신의 위젯을 여는 사람이 자기 OANDA 연결을 가지고 있다면 위젯은 그 사람 것을 씁니다. 그의 계좌, 그의 데이터, 그의 한도로요. 피드는 위젯이 자기 연결을 찾지 못한 뒤에야 조회되고, 못 찾았을 때는 조용합니다 — 그는 새로 익혀야 할 오류 대신 늘 보던 이 거래소를 연결하세요를 봅니다.

이 엔드포인트들은 앱이 이미 싣고 있는 실제 거래소 어댑터를 그대로 지나갑니다. 그래서 게시된 피드는 당신이 위젯을 만들 때 보던 것과 똑같은 형태를 돌려줍니다 — 카탈로그의 모든 활성 거래소에서, 거래소별 전용 코드 없이.

의도적으로 하지 않는 것

  • 공유된 트레이딩 대시보드는 차트는 그리되 계좌 패널은 그리지 않습니다. 차단 목록이 제 일을 하는 것이지 결함이 아닙니다.
  • 심볼 선택기는 당신이 열거한 심볼만 제공합니다. 자유 입력이 있는 위젯은 고정된 집합으로 내려앉습니다. 당신의 증권사로 향하는 열린 프록시를 만들지 않기 위한 대가입니다.
  • 프라이버시 모드에서는 피드를 게시할 수 없습니다. 그 모드에서 자격 증명은 이 기기의 봉인 안에만 존재하므로, 어떤 서버도 그것을 갖고 있지 않고 따라서 대신 갱신할 수도 없습니다.
  • 포크는 피드를 물려받지 않습니다. 피드는 위젯의 계보에 묶이므로 설치된 모든 사본이 같은 엔드포인트로 해석되고, 포크는 아무것도 해석하지 못합니다.

켜는 데 드는 수고는 작지만, 게시한다는 말의 의미가 달라집니다. 당신이 공유한 위젯은 이제 사람들이 실제로 돌릴 수 있는 위젯입니다.

Nexow 열기 후, 키가 필요한 연결 위에 만든 위젯을 골라 피드를 켠 채로 게시해 보세요.

다음 분 안에 첫 번째 위젯 구축

미리보기가 라이브이고 무료로 시도할 수 있습니다. 가입 없음, 설정 없음 — 보고 싶은 것을 설명하세요.