테스트 사이트 - 개발 중인 베타 버전입니다

그누보드6 최신글 캐시파일명에 대해서.... 채택완료

sinbi 1년 전 조회 1,954

/g6/data/cache/latest-free-pc-basic-6-24-d26e66.html

이런 식으로 파일명이 작성되어 있더라구요.

저 파란색 부분 숫자와 문자열은 무슨 의미일까요?

그누보드6 코드의 어느 파일 어느 부분에서 이 파일들을 생성시키는지 궁금합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
녹두탐
1년 전

캐시파일 이름은 `render_latest_posts()` 함수 내부에서 선언되며,

`latest-{게시판코드}-{접속기기}-{스킨이름}-{게시글 수}-{제목길이}-{문자열}.html` 의 규칙을 가지고있습니다.

  • 6 : 출력할 게시글 수
  • 24 : 제목 길이 제한 수
  • d26e66 : 문자열을 해싱한 임의의 6자리 문자열

또한 캐시파일 생성은 `render_latest_posts()` 함수 끝 부분에서 `FileCache` 클래스의 `create()` 함수를 통해 생성됩니다.

 

</p>

<p># lib > board_lib.py</p>

<p> </p>

<p>def render_latest_posts(request: Request, skin_name: str = 'basic', bo_table: str='',</p>

<p>                        rows: int = 10, subject_len: int = 40):</p>

<p>    ...</p>

<p>    device = request.state.device</p>

<p>    file_cache = FileCache()</p>

<p>    cache_filename = f"latest-{bo_table}-{device}-{skin_name}-{rows}-{subject_len}-{file_cache.get_cache_secret_key()}.html"</p>

<p>    cache_file = os.path.join(file_cache.cache_dir, cache_filename)</p>

<p> </p>

<p>    ...</p>

<p> </p>

<p>    temp = templates.TemplateResponse(f"latest/{skin_name}.html", context)</p>

<p>    temp_decode = temp.body.decode("utf-8")</p>

<p> </p>

<p>    # 캐시 파일 생성</p>

<p>    file_cache.create(temp_decode, cache_file)</p>

<p> </p>

<p>    return temp_decode</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sinbi
1년 전
아주 자세한 설명 고맙습니다.
( ^_______ ~ ) ===b

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인