재미있게도 나도 거의 똑같은 걸 만들었음, 다만 지도용으로 만들었음
지도 위에 그림을 그리고, 상대방이 자신의 위치를 볼 수 있게 링크를 공유할 방법이 필요했음
스크린샷에 주석을 다는 건 첫 번째 문제는 해결하지만 두 번째는 안 됨
그래서 Vibe 엔지니어링 느낌으로 직접 구현했음. 특정 목적을 위한 ‘즉석 앱’ 같은 개념임
백엔드 없이도 저렴하게 호스팅할 수 있어서 무료로 배포 가능함 MapDraw 데모 링크
완전 멋짐! 지금 여행 계획 세우는 데 쓰고 있음
텍스트 주석도 추가할 수 있을까? 그리고 삭제 버튼이 전체 초기화 대신 마지막 도형만 지우거나 선택 삭제가 되면 좋겠음
“Vibe engineered”라는 표현이 너무 웃김. vibe coding은 좋지만, 그걸 엔지니어링이라 부르는 게 재밌음 :D
페이지의 반응성이 지금까지 써본 어떤 지도 앱보다 훨씬 좋음
정말 멋짐! 버그 리포트 하나 하자면, 지도를 이동할 때는 그림이 부드럽게 따라오는데, 확대/축소할 때는 애니메이션이 끝난 뒤에야 그림이 움직임
진짜 멋진 프로젝트임
오늘 아침에 비슷한 걸 만들고 있었음
base64 문자열에서 replace를 쓰지 않고 .toBase64({ alphabet: "base64url" })과 fromBase64({ alphabet: "base64url" })을 쓰면 더 깔끔함 MDN 문서 참고
Hacker News 의견들
재미있게도 나도 거의 똑같은 걸 만들었음, 다만 지도용으로 만들었음
지도 위에 그림을 그리고, 상대방이 자신의 위치를 볼 수 있게 링크를 공유할 방법이 필요했음
스크린샷에 주석을 다는 건 첫 번째 문제는 해결하지만 두 번째는 안 됨
그래서 Vibe 엔지니어링 느낌으로 직접 구현했음. 특정 목적을 위한 ‘즉석 앱’ 같은 개념임
백엔드 없이도 저렴하게 호스팅할 수 있어서 무료로 배포 가능함
MapDraw 데모 링크
텍스트 주석도 추가할 수 있을까? 그리고 삭제 버튼이 전체 초기화 대신 마지막 도형만 지우거나 선택 삭제가 되면 좋겠음
오늘 아침에 비슷한 걸 만들고 있었음
base64 문자열에서 replace를 쓰지 않고
.toBase64({ alphabet: "base64url" })과fromBase64({ alphabet: "base64url" })을 쓰면 더 깔끔함MDN 문서 참고
스펙에 따르면 URL은 최소 8,000자까지 가능함
주요 브라우저는 64,000자 이상, Chrome은 2MB까지 지원함
RFC9110 섹션 4.1-5, StackOverflow 참고, Chromium 문서
참고로 Crime and Punishment 전체 텍스트 링크도 URL로 가능함
인스타그램이나 유튜브 공유 링크 보면 수백 자짜리 추적 파라미터가 붙어 있음
왜 데이터를 URL에 저장해서 부풀리는지 모르겠음. localStorage에 저장하면 충분하지 않음?
예전에 스프레드시트로 비슷한 걸 만든 적 있음
입력창에서 탭을 이동하고 새로고침해야 작동했음
예시 링크
전체 코드는 약 130줄 정도였음
더 많은 예시
이런 URL 기반 공유 방식을 쉽게 구현할 수 있는 작은 JS 프레임워크를 만들었음
lost.js GitHub 링크
프라이버시 관점에서 이런 접근이 마음에 듦
그래서 내 kraa.io 에디터에도 URL 저장 옵션을 추가할까 생각 중임
textarea.my는 추적 스크립트를 포함하고 있음Cloudflare beacon 코드가 삽입되어 있어서 주의가 필요함
예전에 기타 탭 악보용으로 비슷한 걸 만들었음
tabviewer.app 참고
URL이 너무 길어지는 문제는 단축 URL 서비스를 써서 해결했음
GitHub 저장소
멋진 프로젝트지만, “Crime and Punishment”를 불러오니 내 모바일 브라우저가 크래시났음
URL이 그 정도 ‘벌’을 견디도록 설계된 건 아닌 듯함
홍보 좀 하자면, 나도 비슷한 걸 만들었는데 아무도 관심 없었음
Buffertab GitHub 링크