어제는 커스텀하게 문서 목록을 추출하고 있는데,

문서 보기 모드가 되면 문서의 하단 목록에서 페이지가 실종되는 상황이 나타나더라구요.

정확하게 말하면, 커스터마이징한 목록을 기준으로 하는 게 아니라 일반적인 목록을 기준으로 페이지가 잡혔습니다.

 

그래서 '아싸 버그 수정해야지'하면서 관련 내용을 뒤져봤는데

getDocumentPage라는 게 있더라구요.

이거 보면서 경탄했습니다 ㄷㄷㄷ

 

페이지가 명시되어 있지 않아도 문서번호 및 관련 정보를 통해 게시글 하단 목록에서 페이지를 자동으로 찾아주는 기능인데,

이게 로직이 저같은 중하급 코딩 덕후로서는 상상하기 힘든 것이더라구요.

목록의 정렬 대상(sort_index)과 정렬 기준(order_type)을 가지고 페이지를 가져오는 방식.

그리고 깔끔 그 자체인 코드.

 

예전에 댓글 페이지 자동 감지 함수를 보고도 비슷한 느낌을 가졌던 적이 있었습니다.

getCommentPage라는 함수였던 것 같아요.

와, 이렇게 쿼리를 통해 페이지를 감지할 생각을 하다니...

 

숙련성이나 구경성(究竟性)이 중요한 영역에는 확실히 어떤 경지라는 게 존재하는 것 같습니다.

감히 도달할 수 없는 곳이 존재한다는 것을 알게 되니까, 감동과 경외 그리고 시기와 좌절 같은 미묘한 감정들이 교차하더라구요. 흐흐흐흐

윤삼

profile
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
  • ?

    그누보드 코드와는 천지차이네요 라이믹스는 잘된

  • ? profile

    저는 다양한 경험을 못해봐서;;;
    그냥 여기 있다보니까 라이믹스빠가 됐네요ㅎㅎ

  • profile
    그걸 보고 이해해가시는 분도 프로화되어 가고 계시잖아요 ㅎㅎ
    코알못은 뭐가 뭔지도 모릅니다 ㅋ
  • profile profile
    저는 진짜 라이믹스로 사이트 만드는 거 말고는 아는 게 일도 없어요ㅜㅜ 그냥 매번 감탄만 할 따름이에요ㅎㅎ
  • profile

    페이지수가 많은 곳에서 남용하면 서버 과부하의 주범이 됩니다.

    현재 글보다 앞에 정렬할 글들을 일일이 세어야 하니... ㅎㅎ

  • profile profile
    그래서 문서 등록일에 따라 함수 실행을 안하고 페이지 값을 null로 넘기는 부분이 있었군요.
    참 어려운 문제긴 하네요;;;;
  • profile profile
    아 그리고 getDocumentPage 함수가 getDocumentList보다 먼저 실행되게 돼 있어서 하단목록의 페이지를 감지할 때, 제 경우에는
    1.getDocumentPage 실행
    2. getDocumentList에서 트리거로 목록 가로채기
    3. 새 목록에 맞춰 getDocumentPage 함수를 응용해서 페이지를 새로 감지
    하는 방식으로 코드를 짰는데 이렇게 되면 '과'부하가 이중으로 발생하는 거겠군요. 헐..
  • profile profile
    해당 기능을 사용할 게시판에서는 getDocumentPage를 실행하지 않도록 미리 어떤 조치를 해야겠지요. page 변수를 미리 세팅해 준다거나...
  • profile profile

    오, 그러네요. 그렇게 하면 되는 거겠네요.
    ....

    모듈 실행 전에
    if ( Context::get('document_srl') && !Context::get('page') )
    {
    Context::set('page', 1);
    }
    라고 해둬서 getDocumentPage 함수의 실행을 회피하고, 목록 추출 후에 다시 페이지 감지를 했습니다.

    감사합니다!!

  • profile profile
    코드 리딩하는 스킬 능력이 ㅎㄷㄷ 하네요 .
    코드 쳐다봐도 뭔지 파악을 못하는 경우도 있는데 .
    하나씩 코드 보면서 알아가는 재미가 .. 쏠쏠 하더라고요 .