Show HN: 개발자를 위한 전용 스크래치패드 Heynote
(heynote.com)- Heynote는 개발 중 흩어지는 임시 텍스트, API 응답, 회의 메모, 할 일 목록을 한곳에 보관하는 영속 텍스트 버퍼형 스크래치패드임
- 작업 단위는 블록이며, ⌘-Enter로 새 블록을 만들고 ⌘-A로 현재 블록 내용만 빠르게 선택할 수 있음
- JavaScript, JSON, Markdown 등 블록별 언어 설정을 바탕으로 구문 강조와 자동 포맷을 적용함
- Math 블록은 변수, 함수, 단위 변환, 통화 변환까지 처리해 간단한 계산을 문맥 안에서 이어갈 수 있게 함
- 여러 노트 버퍼, 디렉터리 정리, 파일 대응, 인라인 이미지와 주석 기능을 제공해 개발자의 임시 작업 공간을 앱 하나로 모으는 데 초점을 둠
블록 기반 스크래치패드
- Heynote의 기본 구조는 여러 블록으로 나뉜 큰 영속 텍스트 버퍼임
- 새 블록은 ⌘-Enter로 만들고, 블록 안에서 ⌘-A를 누르면 전체 문서가 아니라 현재 블록 내용만 선택됨
- 임시로 남겨두기 애매한 자료를 빠르게 붙여 넣는 용도에 맞음
- 실수로 보내고 싶지 않은 Slack 메시지 초안
- 작업 중인 API의 JSON 응답
- 회의 메모
- 일일 할 일 목록
코드와 문서 작업용 블록 기능
- 각 블록은 JavaScript, JSON, Markdown 등 자체 언어 설정을 가질 수 있음
- 언어 설정에 따라 구문 강조가 적용되고, 블록 단위 자동 포맷도 지원함
- 여러 프로그래밍 언어를 지원해 코드 조각과 문서 메모를 같은 버퍼 안에서 함께 다룰 수 있음
계산기처럼 쓰는 Math 블록
- Math 블록은 간단한 계산을 위한 계산기 스크래치패드로 사용할 수 있음
- 변수, 함수, 단위 변환을 지원하며 단위 변환에는 통화 변환도 포함됨
- 빠른 “냅킨 계산”을 메모 흐름 안에서 처리하는 용도에 맞음
여러 버퍼와 파일 구성
- 기본 Scratch 버퍼 외에 원하는 만큼 노트 버퍼를 만들 수 있음
- 버퍼 작업에 쓰는 주요 단축키는 다음과 같음
- ⌘-N: 새 버퍼 생성
- ⌘-S: 현재 블록을 새 버퍼로 이동
- ⌘-P: 버퍼 간 빠른 전환
- 버퍼는 디렉터리로 정리할 수 있고, 각 버퍼는 디스크의 파일 하나에 대응함
이미지와 주석
- Heynote는 인라인 이미지를 지원함
- 클립보드에서 이미지를 붙여넣거나 이미지 파일을 버퍼로 드래그 앤 드롭할 수 있음
- 편집기 안에서 이미지를 선택하고 크기를 조정할 수 있으며, 이미지를 다시 시스템 클립보드에 올리는 작업도 빠르게 처리함
- 내장된 가벼운 그리기 도구로 이미지 위에 자유형 주석을 추가할 수 있음
- 주석을 단 이미지는 한 번의 클릭이나 키 입력으로 새 버전을 클립보드에 업데이트해 다른 곳에 붙여넣을 수 있음
다운로드
- 최신 안정 버전은 2.9.0임
- 지원 다운로드는 Mac Universal, Mac Arm, Mac Intel, Windows, AppImage, Snap으로 제공됨
- 베타 버전으로 2.9.1-beta도 제공됨
- 전체 릴리스는 All releases에서 확인할 수 있음
댓글과 토론
Hacker News 의견들
-
정말 훌륭함. 스크래치 패드에서 바라던 모습과 거의 정확히 맞아떨어짐
기능 요청을 하나 보태자면, 새 블록이 아래가 아니라 페이지 맨 위에 추가되는 “역순” 흐름을 지원하면 좋겠음. 스크래치 패드는 항상 맨 위에서 열리고, 시간이 지나면 오래된 블록이 아래로 “가라앉아서” 가장 관련 있는 내용이 위에 남는 방식임
내 사고방식에는 이게 더 잘 맞음. 다만 이 스레드의 다른 말처럼, 이런 기능 요청 대부분은 무시하고 지금 만든 단순함을 지키는 쪽에 나도 찬성함. 내 요청도 포함해서- 마음에 든다니 기쁨 :)
“역순” 아이디어는 이해됨.C-Enter가 현재 블록 앞에 새 블록을 삽입하도록 설정 가능하게 하고, Heynote가 시작 시 현재 동작처럼 마지막이 아니라 버퍼 시작 위치에 커서를 두게 하면 충분할지 궁금함 - 나도 이 방식이 좋음. 다만 새 줄을 만들 때마다 커서 아래의 모든 블록이 움직이는 게 보이면 산만할 것 같음
이상적인 UX는 맨 위에 새 버퍼를 추가하되, 입력 중에 이전 블록의 움직임이 보이지 않도록 창을 채울 만큼 패딩을 두는 것임
아직 앱을 내려받지는 않았지만, 이미 비슷하게 동작할 수도 있겠음. 보기 좋아서 써보는 게 기대됨 - 이 추가 기능은 아주 유용할 것 같음. 이미 Markdown 문서에서 노트 작성 순서를 그렇게 쓰고 있음
- 비슷한 방식의 노트 앱을 만들었음. 노트가 맨 위에 추가되고, 노트를 수정하면 다시 맨 위로 “끌어올려짐”: https://thinktype.app/
- 이 기능이 있으면 일일 로그 용도로도 쓸 수 있어서 좋겠음
- 마음에 든다니 기쁨 :)
-
이런 조건이면 아마 돈을 낼 것 같음: vi 키 바인딩, 파일 위치를 보여줘서 옮기거나 여러 기기 동기화·백업할 수 있게 하기, 그리고 역순 정렬 기능
정말 정말 좋음 -
멋져 보임. 블록 아이디어가 마음에 들어서 내려받아 써볼 예정임
늘 그렇듯 Electron 얘기가 많아서, 혹시 아직 안 봤다면 Tauri도 한번 언급하고 싶음. Rust 기반의 Electron 비슷한 도구이고 Chromium 대신 시스템 웹뷰를 써서 번들 크기와 메모리 사용량을 꽤 줄여줌
코드를 보니 Electron 쪽 코드가 아주 많아 보이진 않아서, Rust를 만져보고 싶다면 교체가 엄청 어렵진 않을 수도 있음. 내가 만들던 동영상 편집 앱도 Electron으로 시작했다가 중간에 Tauri로 바꿨는데 꽤 괜찮았음
요청은 아니고 그냥 무시해도 됨- 프로젝트 초기에 Tauri를 검토했음. Electron을 선택한 이유는 성숙도와 큰 사용자층이었음
모바일용 다른 크로스플랫폼 도구를 써본 뒤 기대치가 매우 낮았는데, 실제로 Electron으로 작업하는 건 아주 편했고 선택을 후회하지 않음. 버그도 거의 없었고, 생태계가 크며 여러 플랫폼 빌드와 자동 업데이트를 자동화하기 쉬웠다는 점이 좋았음 - Tauri에서 아쉬운 점은 Linux에서 WebKitGtk2를 쓴다는 것임. 성능 관점에서 꽤 별로이고, macOS의 WebKit이나 Windows의 Webview2에 비해 기능 지원도 부족함
- Rust 부분이 사용하기 불편하다고 읽었음. Tauri가 생산적이라고 느꼈는지 궁금함
- 프로젝트 초기에 Tauri를 검토했음. Electron을 선택한 이유는 성숙도와 큰 사용자층이었음
-
정말 마음에 듦. 단순하고 탄탄하게 구현됐음. 한동안 비슷한 걸 만들고 싶었는데, 포크해서 이것저것 만져볼지도 모르겠음
지금은 Obsidian에서 매일 새 노트를 만들고 Markdown 가로선(---)으로 “블록”을 나눠 비슷하게 쓰고 있었지만, 이쪽이 훨씬 깔끔함
이런 접근의 강점은 캡처를 극도로 쉽게 만든다는 것임. 새 블록을 만들고 바로 쓰면 되고, 이걸 어디에 넣을지 기존 구조에 어떻게 맞출지 고민하지 않아도 됨. 그런 고민을 하다 보면 아이디어가 들어갈 위치를 찾는 사이에 아이디어를 잃어버리곤 함
단점은 당연히 다시 찾는 일임. 블록에 태그나 제목을 붙이고 태그·제목으로 검색할 수 있으면 좋겠음. 더 야심차게는 LLM과 임베딩을 넣어서 블록을 자동으로 태깅, 요약, 분류, 군집화하는 실험도 멋질 것 같음
방향은 많지만, 기능을 너무 많이 추가해서 원래 매력인 단순함을 잃지 말자는 다른 사람들의 생각에도 동의함. 그리고 버퍼가 아주 커졌을 때 성능은 어떻게 처리하는지 궁금함- 오픈소스는 아님. Commons Clause를 사용해서 할 수 있는 일을 심하게 제한함. 이름이 오해를 부름
- 성능은 대부분 Heynote의 기반 편집기인 CodeMirror(https://codemirror.net/)가 처리함. 꽤 큰 버퍼도 잘 다루는 것 같음
다만 특정 언어 모드에서 아주 큰 블록을 다룰 때는 작은 성능 문제가 보였음 - 프로그래밍 노트, 문제 해결 로그, “종이 위” 사고, 글쓰기와 가정 검증에 Obsidian을 쓰고 있음. 매우 강력하고 성능도 꽤 좋음. 무엇이든 물어봐도 됨
-
방금 내려받아 설치했는데 정말 인상적임. 수학 블록 개념이 좋았지만, 새 블록을 수학 블록으로 바꾸는 법을 알아내는 데 몇 초 걸렸음
맨 위의⌘ + L Change block language문구에서 “block language”가 “블록 유형을 바꾸기”로 바로 연결되지는 않았음.⌘ + L Change block language (Math, Markdown, etc.)처럼 살짝 바꾸면 좋겠음
그 외에는 가려운 곳을 긁어주는 훌륭한 프로젝트라고 봄- 좋은 제안이라 바꾸겠음
-
마음에 듦. 딱 필요하던 것임. 지금까지는 이 용도로 나 혼자만 있는 WhatsApp 그룹을 쓰고 있었음
기능 요청은 Arch 패키지, 수학 결과가buffer.txt와Ctrl+a후 복사 내용에 포함되기, 글꼴과 색상 테마 변경, Markdown 블록의 이미지·미디어 지원, 블록 타임스탬프, 파일 다시 불러오기, 모바일 가능성임
특히 색상은 지금처럼 최소한의 색만 쓰되, 커스텀 CSS가 아니라 몇 가지 색만 설정하는 방식이면 좋겠음. 이미지 붙여넣기는 VS Code Markdown처럼Ctrl+v로 이미지를 넣으면 Markdown을 삽입하고 이미지를 파일로 저장하는 방식이면 좋겠고, Markdown 미리보기도 좋지만 범위 밖이라고 판단해도 이해됨
타임스탬프는buffer.txt의 무한대 기호가 있는 줄에createdAt,updatedAt을 저장하면grep과cut으로 쉽게 추출할 수 있어서 특히 좋겠음. 아래에서 Git 등으로 백업할 수 있게 파일 다시 불러오기를 작업 중이라고 했는데 그것도 기대됨- 수학 블록에서 복사되는 줄에 계산 결과를 추가하는 건 가능할 것 같고, 나도 마음에 드는 아이디어임
buffer.txt에도 결과가 들어가면 좋다는 데 동의하지만, 구현 세부사항 때문에 더 어려울 것 같음
글꼴과 색상 테마 설정은 지금으로서는 설정 가능한 항목 수를 줄이는 쪽으로 기울고 있어서 추가하지 않을 가능성이 큼
블록 타임스탬프는 할 일 목록에 있고, 파일 다시 불러오기도 마찬가지임. 모바일은 아마 어려울 듯함 - 아래에서 PWA와 로컬 저장소 버전을 추가할 계획이라고 한 걸 봤음. 그렇다면 모바일 요청은 무시해도 되고, 대신 모바일에서 다운로드 버튼을 넣어서 Git이나 Drive 같은 걸 통해 데스크톱과 동기화할 수 있으면 좋겠음
- Electron으로 만들어졌으니 HTML 페이지에 CSS를 추가할 수 있게 하면 글꼴과 색상을 구현할 수 있음
그러면 일부 노트에는 화려한 CSS도 쓸 수 있게 됨
- 수학 블록에서 복사되는 줄에 계산 결과를 추가하는 건 가능할 것 같고, 나도 마음에 드는 아이디어임
-
정말, 정말 좋음. 금방 Dock에 영구 자리를 차지했음
기꺼이 돈을 낼 요청이 하나 있음. 코드 블록 실행과 출력 생성이 가능하면 좋겠음. JS를 테스트하려고 브라우저 콘솔을 자주 여는데, 다른 노트 바로 옆에서 할 수 있으면 훌륭할 것 같음- RunJS는 써봤는지? https://runjs.app/
- 새 Deno Jupyter 노트북 기능과 연결할 수 있을지도 모름
- Obsidian은 이걸 할 수 있음: https://github.com/twibiral/obsidian-execute-code
-
https://orgmode.org/의 org-mode가 많이 떠오름. 코드 블록 평가 같은 org 비슷한 기능을 추가할 계획이 있는지 궁금함
개인적으로 org-mode에서 옮겨갈 것 같지는 않지만, Emacs 사용을 꺼리는 사람들에게 단일 앱으로라도 추천할 만한 것이 있으면 좋겠음- orgmode를 본 적이 없어서 어떤 기능이 있는지 모름. 수학 블록을 제외하면 코드 블록 평가는 복잡도가 커져서 추가할 계획이 없음
-
훌륭함. 이런 용도에는 항상 TextEdit로 돌아갔는데, 이제 Heynote를 써보고 어떻게 되는지 보겠음
HN에서 예전 좋은 시절처럼 이런 걸 보는 게 좋음. 혹시 vi 키 바인딩 지원 계획이 있는지 궁금함- 멋지지만 vi 키 바인딩이 없으면 내게는 실용성이 떨어짐
이제 Vim 플러그인으로 비슷한 걸 얻거나 직접 만들 수 있을지 궁금해짐. 터미널 안에 있으면 지속적인tmux세션에 두고 원격으로 접근할 수 있다는 장점도 있음 - 나도 동의함. vi/vim 바인딩이 있으면 좋겠음
- 멋지지만 vi 키 바인딩이 없으면 내게는 실용성이 떨어짐
-
피드백도 받고 싶음 :)
Heynote GitHub 저장소: https://github.com/heyman/heynote- 좋은 앱임. 이런 용도의 스크래치 패드를 늘 두고 있었지만 딱히 좋은 해법은 없었음. Soulver는 좋지만 수학에 너무 치우쳐 있고, VS Code 탭도 괜찮지만 언어별 여러 버퍼를 관리하기가 번거로움. 여기의 기능 구성이 마음에 듦
개선이나 명확화를 위한 피드백 몇 가지가 있음. 언어 변경 단축키는 상태 표시줄 요소에 마우스를 올리기 전까지 찾지 못했으니, 단축키가 표시된 메뉴 항목이 있어야 함
밝은/어두운 모드 전환과 업데이트 확인은 다른 앱에서 상태 표시줄에 있지 않으니 설정으로 보내는 편이 나아 보임. 시스템 밝은/어두운 모드도 기본적으로 따라야 하고, 앱별 재정의는 있어도 좋음
상태 표시줄에 넣을 게 충분하지 않다면 아예 없애도 될 듯함. 지금은 상태 표시줄을 정당화하려고 이것저것 모아둔 느낌임
초록색 브랜딩은 괜찮지만 앱의 개성이 꽤 강함. 앱이 강한 개성을 가져야 하는지 고민해볼 만함. macOS에 더 잘 맞는 중립 팔레트나, 중립 옵션을 포함한 여러 강조색 선택지도 고려할 수 있음
427MB는 큼. 작은 문서에서는 메모리를 많이 먹지는 않아 다행이지만, 이 규모치고 번들이 너무 큼. 왜 ffmpeg를 포함하는지, 정말 GLES가 필요한지, 기본 Electron 프레임워크가 정말 300MB가 넘는지 궁금함
키맵 옵션이 있는데 초기 내용을 지우고 나니 실제 키맵을 잃어버렸음. 앱 안에 도움말 참조가 있거나, 적어도 도움말 메뉴가 연결되는 문서 페이지가 있으면 좋겠음
글꼴 변경도 가능하면 좋음. 저장 모델도 이해가 안 됨. 데이터가 어디에 저장되는지, 제어 가능한지, 저장이 필요한지, 아니면 얼마나 자주 영속화되는지 궁금함. 클라우드 저장소에 넣어 기기 간 동기화할 수 있는지, 이미 그렇게 한다면 끌 수 있는지도 알고 싶음
개인적으로 앱 아이콘에 앱 이름을 넣는 건 좋아하지 않음. 대부분 앱은 그러지 않으니 더 미묘한 아이콘을 제안함 - 작은 제안 하나: 현재 날짜/시간을 삽입하는 단축키가 있으면 좋겠음
또는 블록 생성 시간을 추적해서 각 블록의 UI 어딘가에 작게 표시하는 옵션도 좋음. 이런 오래된 노트를 다시 검색할 때 날짜가 있으면 아주 유용함 - 가변폭 글꼴을 쓸 수 있는지 궁금함. 웹사이트만 봐서는 명확하지 않음. 내게는 꼭 필요한 기능임
- Linux용 arm64 빌드 가능성이 있는지 궁금함. 직접 빌드할 수는 있겠지만 안 그래도 되면 좋겠음
- 정말 마음에 듦. 아이디어가 좋고 깔끔하게 구현됐음. 내 macOS arm 설치 용량은 100MB 미만임
탭을 요청한 사람도 있는 걸 봤는데, 나는 여러 창 열기가 가능하면 좋겠음
- 좋은 앱임. 이런 용도의 스크래치 패드를 늘 두고 있었지만 딱히 좋은 해법은 없었음. Soulver는 좋지만 수학에 너무 치우쳐 있고, VS Code 탭도 괜찮지만 언어별 여러 버퍼를 관리하기가 번거로움. 여기의 기능 구성이 마음에 듦