Pushpin: λͺ¨λ“  파일 μœ ν˜•μ— λŒ€ν•΄ λ™μΌν•œ FileContent μ„€μ • μΉ΄λ“œ 경계

에 λ§Œλ“  2020λ…„ 02μ›” 13일  Β·  7μ½”λ©˜νŠΈ  Β·  좜처: automerge/pushpin

ν‘œμ‹œλ₯Ό 기반으둜 AudioContent λŠ” μ‹€μ œλ‘œ μ΅œμ†Œ 높이가 3이어야 ν•˜μ§€λ§Œ FileContent κ°€ 6으둜 μ„€μ •ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€. λ‹€λ₯Έ νŒŒμΌμ— λŒ€ν•΄ λ‹€λ₯Έ 경계λ₯Ό 갖도둝 FileContentλ₯Ό λ‹€μ‹œ μž‘μ„±ν•˜λŠ” 것이 ν•©λ¦¬μ μž…λ‹ˆκΉŒ? μœ ν˜•? FileContent.tsx λ‚΄μ—μ„œ ν•΄λ‹Ή 논리λ₯Ό μž‘μ„±ν•˜λŠ” 것은 간단해 λ³΄μ΄μ§€λ§Œ 각 [mime-type]Content.tsx νŒŒμΌμ—μ„œ μ΄λŸ¬ν•œ 속성을 μ„€μ •ν•˜λŠ” 것이 더 λ‚˜μ€ 것 κ°™μŠ΅λ‹ˆλ‹€. 이 μž‘μ—…μ„ μˆ˜ν–‰ν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν•©λ‹ˆκΉŒ? FileContent 와 AudioContent μ‚¬μ΄μ—μ„œ 데이터가 μ–΄λ–»κ²Œ 흐λ₯΄λŠ”지 μ—¬μ „νžˆ ν˜Όλž€μŠ€λŸ¬μ›Œ μ£„μ†‘ν•©λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

ThreadContent, TextContent, ImageContent λ“±κ³Ό 같은 주석을 μž„μ˜μ˜ μœ ν˜•μœΌλ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆκΉŒ?

(μΆ”μ‹ : ARCHITECTURE.mdλ₯Ό 읽지 μ•Šμ•˜λ‹€λ©΄ μ‹œμŠ€ν…œμ΄ λ°°ν›„μ—μ„œ μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€ 빨리 이해할 수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.)

λͺ¨λ“  7 λŒ“κΈ€

μ•„ 그래. 이것은 μ•½κ°„ 어리석고 ν™•μ‹€νžˆ λ‚΄ 잘λͺ»μž…λ‹ˆλ‹€. AudioContentλŠ” λ‚΄κ°€ μž‘μ„±ν•œ POC둜 μ‹€μ œλ‘œ λ§ˆμŠ€ν„°μ— 상λ₯™ν•  μ˜λ„λŠ” μ—†μ—ˆμ§€λ§Œ λ°”μ΄λ„ˆλ¦¬ 파일 슀트리밍 지원에 λŒ€ν•œ κ°œμ„  사항을 ν…ŒμŠ€νŠΈν•  λ•Œ λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€.

λ¬Έμ œλŠ” FileContentκ°€ 기본적으둜 ν•˜μ΄νΌνŒŒμΌμ˜ mimetype ν•„λ“œλ₯Ό μ‚΄νŽ΄λ³Έ λ‹€μŒ 이λ₯Ό 기반으둜 μ½˜ν…μΈ  μœ ν˜•μ„ μ„ νƒν•˜μ—¬ AudioContentλ₯Ό λž˜ν•‘ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€(https://github.com/automerge/pushpin/blob/7b1fb02912198c525bf080edd5d14d48e538b729/src/λ₯Ό λ”°λ₯΄μ‹­μ‹œμ˜€). μž‘λ™ 방식을 보렀면 content-types/files/FileContent.tsx#L72). 즉, μ‹€μ œλ‘œλŠ” 항상 λž˜ν•‘ FileContent의 minWidthλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

이 문제λ₯Ό μˆ˜μ •ν•˜λŠ” 것은 λ³΅μž‘ν•˜μ§€ μ•Šμ§€λ§Œ μ‚¬μ†Œν•œ 일은 μ•„λ‹ˆλ©° μ²˜μŒμ—λŠ” λˆ„κ΅°κ°€κ°€ μ‹€μ œλ‘œ 이 κΈ°λŠ₯을 μ‚¬μš©ν•˜κ³  μžˆλ‹€κ³  ν™•μ‹ ν•˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— ν•΄κ²°ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€... μˆ˜μ •ν•˜λŠ” λŒ€μ‹  ν•œ 가지 μ˜΅μ…˜μ€ λ‹€μŒμ„ ν¬ν•¨ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ•½κ°„μ˜ μΆ”κ°€ 메타데이터/곡간을 μ±„μšΈ 수 μžˆλ„λ‘ 더 λ§Žμ€ UI μš”μ†Œ 집합을 μ„ νƒν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ? μ†μž„μˆ˜, λ‚˜λ„ μ•Œμ•„, ν•˜μ§€λ§Œ μš°λ¦¬κ°€ λ³΄λ“œμ—μ„œ μ„ νƒν•œ μΉ΄λ“œ μ„ΈνŠΈλ₯Ό λ°©μ†‘ν•˜λŠ” κ²ƒμ²˜λŸΌ μ˜€λ””μ˜€ νŒŒμΌμ—μ„œ μ—¬λŸ¬λΆ„μ΄ μžˆλŠ” μœ„μΉ˜λ₯Ό λ°©μ†‘ν•˜κΈ° μ‹œμž‘ν•˜μ—¬ λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ νŠΈλž™μ—μ„œ 어디에 μžˆλŠ”μ§€ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€(예λ₯Ό λ“€μ–΄, μƒμƒμ˜ 팟캐슀트 μ‚¬μš© 사둀?)

두 가지 μ ‘κ·Ό 방식(높이 μ„€μ • 버그 μˆ˜μ • λ˜λŠ” AudioContent κ°œμ„ )을 μ„ νƒν•˜κ³  ν•΄κ²°ν•˜κ³  싢은 경우 도움을 μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€. μ–΄λŠ μͺ½μ΄λ“  쒋은 μ†Œκ·œλͺ¨ ν”„λ‘œμ νŠΈμ—¬μ•Ό ν•©λ‹ˆλ‹€.

μΆ”κ°€ 메타데이터/λΈŒλ‘œλ“œμΊμŠ€νŒ…μ„ μΆ”κ°€ν•˜λŠ” 것은 멋진 일처럼 λ“€λ¦½λ‹ˆλ‹€! μΉ΄λ“œ 선택 방솑 λ‘œμ§μ€ μ–΄λ–€ νŒŒμΌμ„ μ°Ύμ•„μ•Ό ν•˜λ‚˜μš”?

λ˜ν•œ μ˜€λ””μ˜€μ˜ νŠΉμ • μ‹œκ°„μ— μ—°κ²°λœ μ‚¬μš΄λ“œν΄λΌμš°λ“œ μŠ€νƒ€μΌμ˜ λŒ“κΈ€μ— λŒ€ν•΄ μ–΄λ–»κ²Œ μƒκ°ν•˜μ‹œλ‚˜μš”? μ•„λ‹ˆλ©΄ μŠ€λ ˆλ“œμ˜ κΈ°λŠ₯을 λ„ˆλ¬΄ 많이 λ³΅μ œν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ? 예λ₯Ό λ“€μ–΄ 이와 같은 λ¬Έμ„œλ³„ μŠ€νƒ€μΌ λŒ“κΈ€(λ˜λŠ” μΈμŠ€νƒ€κ·Έλž¨ νƒœκ·Έμ™€ 같이 XY μ’Œν‘œκ°€ μžˆλŠ” 이미지에 λŒ€ν•œ λŒ“κΈ€)은 ν₯미둜운 μ’…λ₯˜μ˜ 미디어별 λŒ€ν™”λ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•  수 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

λ‚˜λŠ” 지μ˜₯ 처럼 λŠλ‚„ κ²ƒμž…λ‹ˆλ‹€. μ‹œκ°„ μ½”λ”©λœ 주석은 λΆ„λͺ…νžˆ λ¬Έμ„œμ— μ–΄λ–»κ²Œλ“  μ €μž₯λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€... μž„μ˜μ˜ λ‚΄μš©? λ„ˆλ¬΄ λ―Έμ³€λ‚˜μš”?

μ²­μ·¨ μœ„μΉ˜λ₯Ό λΈŒλ‘œλ“œμΊμŠ€νŠΈν•˜λ €λ©΄ μ‚¬μš©μž ID, deviceid 및 μž„μ˜μ˜ μΆ”κ°€ JSON 인코딩 κ°€λŠ₯ μœ ν˜•μ„ λΈŒλ‘œλ“œμΊμŠ€νŠΈν•˜λŠ” "Presence"λ₯Ό ν”Όμ–΄μ—κ²Œ 보낼 수 μžˆμŠ΅λ‹ˆλ‹€. BoardCardμ—μ„œ 선택 색상을 λ™λ£Œμ—κ²Œ λΈŒλ‘œλ“œμΊμŠ€νŠΈν•©λ‹ˆλ‹€. 이 μ½”λ“œλŠ” 쑰금 μ΄μƒν•˜μ§€λ§Œ https://github.com/automerge/pushpin/blob/73193adc907b3c7c109b5f14453f9a838469f02b/src/renderer/components/content-types/board/Bond μ—μ„œ usePresenceλ₯Ό μ‚΄νŽ΄λ³΄μ„Έμš”.

'μž„μ˜μ˜ μ½˜ν…μΈ 'λž€ { comment: string, time: number, author: Contact} 의 λ°°μ—΄κ³Ό ν•΄λ‹Ή μ˜€λ””μ˜€μ˜ hypermergeUrl IDλ₯Ό 가진 μƒˆλ‘œμš΄ μ½˜ν…μΈ  μœ ν˜•(예: audioComments )을 μ˜λ―Έν•©λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ AudioContent μžμ²΄μ— μ—°κ²°λœ { comment: string, time: number, author: Contact} 의 λ°°μ—΄λ§Œ μžˆμŠ΅λ‹ˆκΉŒ? ν•˜μ΄νΌνŒŒμΌμ— μž„μ˜μ˜ JSON을 첨뢀할 수 μžˆμŠ΅λ‹ˆκΉŒ? μ£„μ†‘ν•©λ‹ˆλ‹€. 이 μ•„ν‚€ν…μ²˜κ°€ μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€ 아직 λ°°μš°λŠ” μ€‘μž…λ‹ˆλ‹€.

ThreadContent, TextContent, ImageContent λ“±κ³Ό 같은 주석을 μž„μ˜μ˜ μœ ν˜•μœΌλ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆκΉŒ?

(μΆ”μ‹ : ARCHITECTURE.mdλ₯Ό 읽지 μ•Šμ•˜λ‹€λ©΄ μ‹œμŠ€ν…œμ΄ λ°°ν›„μ—μ„œ μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€ 빨리 이해할 수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.)

(μ›λž˜ λ¬Έμ œμ—μ„œ κ½€ 멀리 μ—¬ν–‰ν–ˆκΈ° λ•Œλ¬Έμ— 이것을 slack으둜 이동)

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰