발행일

인기 검색어를 주석 처리했다 — 하드코딩 단어 목록을 석 달 반 만에 내렸다

인기 검색어를 주석 처리했다

이 글은 2026년 9월에 당시 커밋 이력을 다시 보며 정리한 것입니다. 날짜는 작업한 날 기준입니다.

2025년 8월 1일, 홈 화면 검색창 아래에 인기 검색어 칩을 달았습니다. #인공지능 같은 알약 모양 링크가 다섯 개 늘어서고, 누르면 그 단어로 검색이 되는 흔한 형태입니다.

그 다섯 단어의 출처가 이랬습니다.

  {% set popular_keywords = ["인공지능", "데이터셋", "디지털 트윈", "교통", "기후"] %}

템플릿 안에 박아 둔 목록입니다. 누가 무엇을 검색했는지 세는 코드는 없었고, 검색 기록을 남기는 테이블도 없었습니다. 홈 화면 시안을 채우려고 그럴듯한 단어를 고른 거예요.

석 달 반 뒤

11월 15일 토요일 저녁, 이 블록을 주석으로 감쌌습니다. 그 사이 목록은 "표준데이터", "메타데이터", "데이터셋" 같은 일곱 단어로 바뀌어 있었는데, 출처가 템플릿 안이라는 건 그대로였어요.

-    <div class="mt-[.75rem] flex flex-wrap gap-[.5rem]">
-      <p class="text-white mt-[.5rem]">인기검색어:&nbsp;</p>
-      {% for keyword in popular_keywords %}
+{#    <div class="mt-[.75rem] flex flex-wrap gap-[.5rem]">#}
+{#      <p class="text-white mt-[.5rem]">인기검색어:&nbsp;</p>#}
+{#      {% for keyword in popular_keywords %}#}

커밋 메시지는 이렇습니다.

1. 인기 검색어 주석 처리 : 나중에 인기 검색어에 대한 명확한 기준이 있어야 함

"명확한 기준"이 무엇인지는 적지 않았습니다. 지금 읽으면 두 가지로 나뉩니다. 하나는 무엇을 세어 인기라고 부를 것인가(검색 횟수인지, 결과를 클릭한 횟수인지, 기간은 얼마인지). 다른 하나는 셀 데이터가 아직 없다는 것. 어느 쪽이 더 컸는지는 커밋에 없습니다.

그날 저녁에 번호를 매겨 커밋 여섯 개를 올렸는데, 다 같은 종류였습니다. 홈 화면 분류 타일이 다섯 개였는데 실제 분류가 셋뿐이라 둘을 지웠고(9815dca4), 표준데이터 등록 절차를 여섯 단계 글로 써 둔 것을 순서도 이미지 한 장으로 바꿨습니다(a526ce57). 전부 화면에 먼저 그려 놓고 나중에 "이거 진짜인가"를 물은 것들이에요.

   {% set category_list = [
-      {"title": _("차량융합"), "img": "img/icn_vehicle_white_64px.svg"},
-      {"title": _("ICT 융합"), "img": "img/icn_ict_white_64px.svg"},
       {"title": _("도로교통 융합"), "img": "img/icn_traffic_white_64px.svg"},

지우지 않고 주석 처리한 이유

삭제하지 않고 {# … #}로 감싼 건, 다시 켤 생각이었기 때문입니다. 마크업과 링크 구조는 맞다고 봤고, 값만 진짜로 바꾸면 된다고 생각했어요. 그 판단 자체는 틀리지 않았습니다. 여덟 달 뒤에 실제로 그 자리에 검색어 랭킹이 돌아왔으니까요.

다만 주석 블록은 그 여덟 달 동안 아무 일도 하지 않았고, 2026년 3월 말 홈 화면 전면 정비 때 주석째 사라졌습니다. 되살릴 때 이 주석을 참고한 흔적은 없습니다. "나중에 쓰려고 남긴 코드"는 나중에 안 쓰였습니다.

여덟 달 뒤

2026년 7월 20일, 통합검색 빈 화면에 검색어 상위 랭킹을 붙였습니다. 이번에는 값의 출처가 있었어요. 방문 로그에 남은 search_keyword 파라미터를 세서 상위 10개를 보여 주는 방식입니다. 오타를 거르려고 두 번 이상 검색된 것만 세고, 데이터 통계 화면의 워드클라우드도 같은 집계를 씁니다. 8월에는 팀원이 검색어 수집 테이블을 따로 만들었고요.

그 글에서 "이 화면이 없으면 못 아는 게 뭔가"로 화면의 성격을 다시 정했다고 썼습니다. 2025년 8월의 인기 검색어 칩은 그 질문에 답이 없는 화면이었습니다. 없어도 아무도 못 아는 게 없었어요. 그래서 내렸고, 답이 생긴 뒤에 다시 올렸습니다.

검증

  • 주석 처리 뒤 홈 화면에서 칩이 사라진 것을 눈으로 봤습니다. 그게 전부입니다.
  • 이 글을 쓰며 확인한 것: 8월 1일 커밋의 하드코딩 목록, 11월 15일 커밋 6개의 순서와 내용, -S '인기 검색어'로 이 문자열이 저장소에서 늘고 준 커밋 일곱 개.
  • 2026년 7월 랭킹 화면이 방문 로그를 세는 방식이라는 건 그 커밋의 매니저 코드에서 확인했습니다.

남은 것 · 한계

  • 8월 1일에 하드코딩으로 올린 것 자체가 문제였습니다. 석 달 반 동안 운영 홈 화면에 가짜 인기 검색어가 떠 있었습니다. 그 사이 누가 그걸 눌렀는지는 로그가 없어 모릅니다.
  • "명확한 기준"을 커밋에 한 줄이라도 적었다면 여덟 달 뒤 랭킹을 만들 때 그 기준에서 시작했을 텐데, 그때 기준을 처음부터 다시 정했습니다.
  • 주석 처리는 삭제를 미룬 것이었고, 결국 참고되지 않은 채 지워졌습니다. 다음에 같은 상황이면 지우고 커밋 메시지에 이유를 남기는 쪽이 낫습니다.
  • 같은 날 지운 분류 타일 둘("차량융합", "ICT 융합")은 왜 실제 분류에 없었는지 확인하지 않았습니다. 시안 단계의 이름이 그대로 남아 있던 것으로 보이지만 근거는 없습니다.

관련 글: 아무도 안 묻는 질문에 답하던 화면 — 워드클라우드를 검색어 빈도로 · 홈 화면의 "준비 중" 타일을 지웠다 — 세는 대상이 처음부터 틀려 있었다 · 화면이 없어진 기능을 설명하고 있었다 — 소개·가이드 전면 현행화 · 검색 화면 시안 넷을 만들었고 여덟 달 뒤 전부 지워졌다