본문 바로가기
C.W.K.
Stream
Lesson 04 of 04 · published

사진은 곁에 붙는 자료야

~10 min · photos, attachments, original, privacy

Level 0마른 펜촉
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"첨부는 연습을 증언할 수 있지만 글의 주인이 되면 안 돼."

종이 옆 장면

사진은 종이와 잉크 색, 여백 메모, 실제로 썼다는 물리적 사실을 남길 수 있어. 엔트리 곁에 붙지만 기준 원문을 대체하거나 정확한 필사를 증명하진 않아.

화면 상태로 만들어

이미지는 Inkwell의 managed images root에 따로 두고 entry_images에는 id와 entry_id, path, created_at만 저장해. 삭제할 때 managed file과 행을 함께 hard-delete하고, 엔트리는 원문과 필사 상태를 독립적으로 지켜.

도움이 방해가 될 때

image byte를 entry 행에 넣으면 텍스트 query가 무거운 media에 묶여. OCR이 원문을 조용히 덮으면 관찰과 권한이 섞여. 사적인 손글씨 사진은 생성 문장보다 더 엄격한 공유 기본값도 필요해.

집중 불변식. 첨부는 연습을 증언할 수 있지만 글의 주인이 되면 안 돼.

손을 기준으로 시험해

이 화면을 browser screenshot만 보고 판정하지 마. 한 손에는 펜, 다른 손은 필요할 때만 화면에 닿는 장면을 놓고 글자 크기와 버튼 거리, scroll, 방향 전환, 실패 상태를 따라가. 기술 향상 기능 하나가 거절돼도 원문을 읽고 필사 상태를 남길 수 있어야 해.

직접 확인해

사적인 손글씨 사진의 upload, hard delete, 공유 기본값을 설계해. 작은 phone과 큰 tablet, 밝은 곳과 어두운 곳, keyboard만 쓰는 경우도 넣어. 기능이 멋져 보이는지보다 펜에서 시선을 얼마나 자주 빼앗는지 세어.

화면이 물러나는 데도 상태가 필요해

크롬을 숨기고 wake lock을 얻고 사진을 붙이는 일은 전부 되돌릴 수 있어야 해. 나가기와 release, 삭제, 실패 문구가 있어야 기술이 사라졌다가도 필요할 때 설명할 수 있어.

이 화면의 실제 동작

사진 파일은 managed images root에 두고 entry_images 행에는 path만 남겨. 삭제는 파일과 행을 함께 없애고 공유는 원문과 별도 동의로 다루며, OCR 결과가 생겨도 제안이나 검색 보조일 뿐 원문 칸을 덮지 못하게 해. 손글씨에는 사적인 흔적이 더 많이 담겨.

집중을 돕는 기능이 실패했을 때 글까지 사라지면 우선순위가 뒤집힌 거야. 향상 기능은 실패를 설명하되 원문은 계속 읽히게 해야 해.

Code

이미지 path를 엔트리 곁에 둬·sql
CREATE TABLE entry_images (
  id TEXT PRIMARY KEY,
  entry_id TEXT NOT NULL REFERENCES entries(id),
  path TEXT NOT NULL,
  created_at TEXT NOT NULL
);
SELECT path FROM entry_images
WHERE id = :image_id AND entry_id = :entry_id;
-- Remove the managed file, then hard-delete its row.
DELETE FROM entry_images
WHERE id = :image_id AND entry_id = :entry_id;

External links

Exercise

사적인 손글씨 사진의 upload, hard delete, 공유 기본값을 설계해.
Hint
실제 손 동작과 실패 상태를 같이 봐.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.