디시 내용 검색 기능이 이상한 이유. (긴거 싫으면 클릭 금지)

7cf3c028e2f206a26d81f6e447807c6dd1

디시 검색기능에 화난 싱붕이들.

왜 검색기능이 이런지 알아보자.

a04934ad2412b54cb63321419d22d870924763fd0ee47f473c91a43abd369c6ddb329596092ed4673a3bf8a3e138fb

개발에서 크게 프론트엔드 백엔드로 구성된다.

그림으로 살짝 비슷하게 말하자면 프론트엔드는 그림을 그리고

백엔드는 그 그림을 누르면 다른 그림으로 바뀌거나 회원가입 그림이 나오는 느낌이다.

왜 디시에서 내용 검색기능을 이용하면 내가 원하는 글자는 하나도 안 나올까?

처음 이미지에 있는 링크로 가보자.

https://gall.dcinside.com/mgallery/board/view/?id=singlebungle1472&no=1751076&exception_mode=recommend&page=1

{{_OG_START::https://gall.dcinside.com/mgallery/board/view/?id=singlebungle1472&no=1751076&exception_mode=recommend&page=1^#^명실상부 dc에서 제일 좆병신 기능 - 싱글벙글 지구촌 마이너 갤러리^#^이 씨발 검색 기능 도대체 왜 쳐있는거냐??영어로 검색하면 이미지 코드까지 검색돼서 씨발 찾기 존나 어려워그리고 내가 찾으려는거 검색하면 뭔 씨발 게시글 최근거만 인식돼서 아무것도 안나와 씨발통합 검색으로 하면 다른 ^#^https://dcimg2.dcinside.co.kr/viewimage.php?id=3eb4de21e9d73ab360b8dab04785736f&no=24b0d769e1d32ca73de885fa11d02831640a502277a2524bd91d28be791008305cfa4e39aa0cc0504b1e71fb86eb4754eab7d6e23abf3786fe39764a55a128fe87f85ad7f24580be4cc42db5196f611f491944e9::OG_END_}}

그 다음 크롬 브라우저를 사용하면 F12를 눌러보자.

7ff3c028e2f206a26d81f6e44185706925

누르자마자 오른쪽에 빨간색으로 "Failed to load resource"가 수두룩하다.

이건 프론트엔드 개발자가 안되는 걸 막 넣어서 일어난 상황이라 싱붕이는 잘못이 없다.

아니 거의 다 css 스타일 관련 자바스크립트 같은데 어차피 로딩 안 되는거 쫌 다 지워라.

왜 아직도 자꾸 냅두고 있음? 

7ef3c028e2f206a26d81f6e141887764

그 다음에 네모 빨간색 부분을 마우스로 클릭하고 원하는 부분을 클릭해보자.

79f3c028e2f206a26d81f6e44586776cc3

"영어로 검색하면 ~~"이라는 문구를 클릭하니 프론트엔드로 코드 작성된 부분이 오른쪽처럼 나온다.

우리가 보는 화면과 달리 프론트엔드 부분 코드는 이렇게 작성 돼 있다는 것이다.

다시 백엔드 부분으로 넘어가보자.

백엔드는 정보를 저장한다고 했었다.

여기에서 정보를 저장하기 위해 사용되는 것은 데이터베이스라고 한다.

데이터베이스엑셀이랑 비슷하다고 보면된다. 데이터베이스를 말하면 오히려 이야기가 길어지니 엑셀로 간단하게 예시를 하면

78f3c028e2f206a26d81f6e44f897364ed

이런 형태로 정보가 저장되어 있는거다. 

여기에서 "<" ">"가 많이 보이는데 이것을 태그라고 부른다.

태그는 이미지나 글자 스타일 같은 것을 넣을 때 사용된다.

디시 검색에서 "제목+내용"을 선택하고 검색하면 제대로 된 정보가 나오지 않는 이유는

font 검색했을때 실제 내 화면에는 "font"라는 글자가 안보이지만 내용에선 font가 있으니 결과가 나오는 것이다. 

물론 우리가 바로 보는 웹에서는 안보인다.

Q. 제목, 글쓴이는 왜 달라?

데이터베이스에서 "<>"로 저장 안해서 그렇다.

Q. 댓글에서 디시콘은 img가 들어가는데도 검색에 안 나와.

74f3c028e2f206a26d81f6e44683756a94

나도 처음에 이거 분류 할 줄 알면서 왜 안했지? 생각하고 싶었는데.

74f3c028e2f206a26d81f6e34e887265

7ced9e36ebd518986abce8954480726be6

7cec9e36ebd518986abce8954485736468

댓글에 처음부터 "<"만 들어가도 댓글 검색에 안 나옴ㅋ.

디시콘 전용 댓글 따로 사용한 줄 알았는데 저거보니 첨부터 "<" 들어가면 제외하게 만든 듯? 

Q. 아니 그럼 해결 못함?

해결 못한다기 보다 저런 상황이 나오는 경우는 한번도 저런 기능을 안 만들어본 개발자라서 그렇다.

중소기업에서 싼 업체에 홈페이지 만들어 달라고 한 것도 아니고 저런 상황이 나오는 게 이상한 상황이다.

솔직히 저런 건 컴퓨터 코드 배운 고등학생도 기본으로 할 듯? 과장 아님.

7af3c028e2f206a26d81f6e74582736c50

가장 간단하게 저장용량 신경 안쓰고 하는 무지성 방법은 이렇게 한다.

저장용을 따로 냅두고 검색용으로 따로 만든다.

그럼 검색용으로 찾고 일련번호가 1이면 게시글에서는 일련번호가 1인 저장용을 보여주는 것이다.

그래도 처음부터 저렇게 만들어야 했던 상황이기 때문에 이건 무리이다.

가장 최선의 방법은 "<>"로 시작하는 것을 제외하고 검색하게 하는 것이다.

'MYSQL'이라는 데이터베이스를 사용하면

SELECT REGEXP_REPLACE('<div class="inner clear~~~"', '<[^>]+>', '')

이거 하나면 넣어도 우리 화면에 안보이는 것들은 거의 다 분류한다.

물론 말한 것들은 가장 쉬운 방법이지 태그 검색이 안되도록 하는 방법은 많이 있다.

75f3c028e2f206a26d81f6e04786776f

여태 저장된 정보를 다 검색하게 하면 서버에 크게 영향을 미치니까

날짜기준으로 검색하는 기능, 고급 검색 기능을 따로 만들기도 한다.

웹 어플리케이션 공부하는 사람이면 구글이 만든 페이지를 보는게 가장 좋다.

검색 기능 같은 걸 사용자를 위해 섬세하게 잘 만들었다. 

이 콘텐츠가 마음에 드셨다면?