Rust, WebAssembly 및 MozJPEG로 Discourse에서 더 빠르고 작은 업로드 | 블로그

몇 주 전부터, Discourse의 이미지 업로드가 더 빠르고 더 작아졌습니다. 이는 클라이언트 측에서 업로드 이전에 이미지를 압축하고 최적화하는 기술 덕분입니다. 이 블로그 글에서는 이 기능이 어떻게 작동하는지, 그리고 Discourse에서 어떻게 구현했는지 설명합니다.


이것은 https://blog.discourse.org/2021/07/faster-user-uploads-on-discourse-with-rust-webassembly-and-mozjpeg/의 원본 글에 대한 동반 토론 주제입니다.
50개의 좋아요

놀랍네요! :heart_eyes: 정말 놀라운 개선입니다. 정말 훌륭한 작업이에요. 이제 토론에서 사진 업로드와 공유가 훨씬 더 재미있어졌어요.

그리고 추가적인 이점도 있어요 - 느린 연결을 사용하는 사람들이 이제 여러 장의 사진을 한꺼번에 업로드할 수 있게 되었어요. 사진 대신 두려운 “업로드 중…” 메시지가 뜨는 일이 사라졌거든요. :+1:

21개의 좋아요

좋은 개선이에요… 그리고 라파엘, 생일 축하해요!

13개의 좋아요

디스커스가 Rust의 힘을 더 많이 활용하는 모습을 보게 되어 정말 기대됩니다! :crab: :muscle:

imageflow도 이 분야에서 인상적인 Rust 라이브러리 중 하나입니다.

여기서 뉴스를 공유하는 것도 괜찮을 것 같아 이렇게 올립니다:

17개의 좋아요

지금 내 사이트에 있는 게 바로 이거예요? 더 나은 제품을 만들고 싶다는 이유만으로 이렇게 향상된 기능을 모든 사람에게 배포한 거예요?

어떤 부분에서는 그게 사실이라는 걸 알고 있어요. 여러분이 어떻게 일하는지 충분히 봐왔으니까요. 하지만 정말 대단하네요. 또 다른 부분에서는 이게 고급 최적화 전략이라는 걸 놓친 것 같은 기분이 들어요.

9개의 좋아요

그렇고, 그렇습니다. :smiley:

8개의 좋아요

정말 무모하네, 형.

Bill Murray Thank You GIF by filmeditor

9개의 좋아요

불행히도 안드로이드 사용자들로부터 커서가 점프하는 현상과 업로드 성능 저하에 대한 불만이 많이 접수되고 있습니다.

3개의 좋아요

여러 파일 업로드 시 커서/플레이스홀더 처리를 크게 개선할 PR이 열려 있습니다.

다음 조건이 모두 해당된다면:

  • 저장 비용에 신경 쓰지 않는 경우
  • 사용자 대다수가 인터넷 업로드 속도가 좋은 경우
  • 대부분의 방문자가 평균 이하의 성능을 가진 안드로이드 스마트폰으로 접속하는 경우

해당 기능을 비활성화하거나 최소 크기 임계값을 몇 MB 정도 높이는 것을 고려해 볼 수 있습니다.

10개의 좋아요

좋은 소식입니다!

불행히도 제 사용자 중에는 저가형/구형 안드로이드 기기를 사용하는 분들이 많아, 당분간 해당 기능을 다시 활성화하지 않을 계획입니다. 제 아이폰 12에서는 문제가 없었습니다.

5개의 좋아요

Falco님, 이 기능을 사용자 설정으로 제공하거나, 원하는 사람들이 선택적으로 사용할 수 있도록 하는 것이 가능하거나 관심 있는 사항인가요? 아니면 craigslist처럼 “클래식 이미지 업로더 사용” 옵션을 추가하는 것은 어떨까요? 해당 버튼을 선택하면 업로드 방식이 전환됩니다.

5개의 좋아요

최소 크기를 조정해서 3MB보다 큰 파일에서만 작동하도록 하면, 오래된 폰에서 자체 카메라로 찍은 사진은 해당 제한에 도달하지 못할 거예요.

그것은 원본 RFC에 포함되어 있었지만, 받은 코멘트에 따라 제거되었습니다.

6개의 좋아요

라파엘, 안녕하세요.

새로운 플레이스홀더 처리에 작은 문제가 있는 것 같습니다. 이미지가 새 줄로 넘어가지 않고 인라인으로 표시되는 것 같습니다. 컴포저 사전 최적화뿐 아니라 일반 업로드에서도 마찬가지입니다. 감사합니다 :slightly_smiling_face:

5개의 좋아요

이렇게 하면 수정됩니다

9개의 좋아요

라파엘님, 안녕하세요.

늦게 테스트해서 죄송합니다. :confused: 새 줄에 이미지를 드래그하여 여러 개를 업로드하는 경우에는 문제가 없게 작동하지만, 텍스트 끝에 이미지를 드래그하는 경우에는 여전히 문제가 있는 것 같습니다. 감사합니다. :slightly_smiling_face:

4개의 좋아요

지금 다 괜찮아 @Don?

6개의 좋아요

이 문제는 여전히 발생하는 것 같습니다.

4개의 좋아요

이 문제가 수정되었나요? @Falco

4개의 좋아요

죄송하지만, 그 영상에서 버그가 뭔가요? 제 예상대로 작동하는 것처럼 보이는데?

6개의 좋아요

이 기능을 놓치고 있었습니다. A setting to always insert images as separate paragraphs - #16 by andrei 이 기능은 잘 작동하는 것 같았는데, 이 커밋 Faster (and smaller) uploads in Discourse with Rust, WebAssembly and MozJPEG | Blog - #9 by Falco 이후로는 확실하지 않습니다. :confused:

커뮤니티에서 이 기능을 소개할 때 촬영한 영상이 있습니다.

5개의 좋아요