이 프로젝트는 당분간 보류되었습니다. 향후 재검토할 수 있으며, 그렇게 되면 여기에 업데이트를 게시하겠습니다.
많은 수의 카테고리를 가진 커뮤니티를 돕기 위해 실험적 기능을 도입합니다. ![]()
지난 몇 달간 우리는 많은 수의 카테고리를 가진(그리고 그 외에도!) 커뮤니티에서 Discourse 사이트가 더 잘 작동하도록 열심히 작업해 왔습니다. 이를 통해 관리자는 친숙한 사용자 경험(UX)을 유지하면서 수천 개의 카테고리를 만들 수 있게 됩니다.
이것은 여전히 실험적 기능이며, lazy_loaded_categories_groups 사이트 설정을 조정하여 활성화할 수 있습니다. 현재 기본적으로 비활성화되어 있습니다.
이 기능은 어떻게 작동합니까?
현재 Discourse 커뮤니티로 이동할 때 모든 카테고리 데이터가 로드됩니다. 이를 “즉시 로딩(eager loading)”이라고 하며, 많은 카테고리를 가진 사이트에는 이상적이지 않습니다. 첫 번째 렌더링 전에 많은 양의 정보가 전송되어 전체 로딩 시간이 증가하기 때문입니다.
새로운 방법은 “지연 로딩(lazy loading)”이라고 불리며, 카테고리에 대한 정보를 실제로 필요할 때까지(예: 카테고리 검색, 이동 또는 링크, 해당 카테고리를 언급하는 주제나 게시물 읽기 등) 로드하는 것을 지연시킵니다. 전송되는 데이터가 적을수록 로딩 시간이 빨라지고 사용자는 더 만족합니다! ![]()
Meta의 멤버인 여러분에게 이것이 무엇을 의미합니까?
우리는 이 기능을 내부적으로 철저히 테스트해 왔지만, 수행된 작업의 규모를 고려할 때 버그가 도입될 가능성이 약간 있습니다. 카테고리와 관련된 이상 증상이 발견되면 이 주제에 답글을 달거나 Contribute > Bug 주제를 열어 알려주세요.
여러분이나 여러분의 커뮤니티에 이것이 무엇을 의미합니까?
우리가 호스팅을 제공하는 경우든 자체 호스팅을 하는 경우든, 이 기능은 기본적으로 비활성화되어 있으며 눈에 띄는 변화가 없어야 합니다.
그러나 커뮤니티를 확장하여 많은 카테고리를 가질 계획이라면 이 기능을 활성화하는 것을 강력히 권장합니다.
미래에는 이 기능을 기본적으로 활성화하고, 궁극적으로 카테고리를 “즉시 로딩”하는 코드를 비추천(deprecate)하고 제거할 것입니다.
플러그인 및 테마 개발자에게 이것이 무엇을 의미합니까?
일반적으로 대부분의 플러그인에는 거의 또는 전혀 변경이 필요하지 않을 것입니다. 단, 코어의 카테고리 컴포넌트나 사전 로드된 데이터를 사용하는 경우입니다(예: 페이지 로드 시 이미 표시되는 카테고리에만 쿼리를 실행하는 것. 이는 이미 사전 로드되었음을 의미하므로).
아직 로드되지 않은 카테고리에 대한 정보를 사용하려고 할 때 일부 문제가 발생할 수 있습니다. Category.findByIds 메서드는 이미 로드된 카테고리만 반환하는 반면, Category.asyncFindByIds는 정보가 아직 로드되지 않은 경우 서버에서 조회를 수행할 수 있습니다.

















