12.20 TIL

천영석·2020년 12월 20일
post-thumbnail

오늘 공부한 것

우테코 최종 테스트도 종료되었고, 공부할 것을 찾다가 부스트코스의 웹 프로그래밍 강좌를 수강했다.

초반 부분이라 기본적으로 알고 있는 내용인 html, css를 배웠고, 클라이언트와 서버 간 요청/응답 과정, 프로토콜, HTTP, 웹 브라우저에서의 렌더링 과정을 배웠는데, 이 모든 것들은 이미 공부했던 것들이라서 들으면서 가벼운 마음으로 넘겼다.

웹 프로그래밍 강좌는 풀스택이라서 웹서버와 WAS에 대해서도 배웠는데, 웹 크롤러가 신기해서 기억에 남는다.

구글, 네이버, 다음과 같은 포털 사이트는 검색 엔진을 가지고 있는데, 어떻게 우리가 검색하는 내용에 맞는 게시글들을 찾아서 보여줄 수 있을까?

그것은 바로 웹 크롤러 덕분인데, 웹 크롤러는 항상 사전에 데이터를 수집하는데, 이것이 크롤링이다. 그 후, 크롤링 한 데이터를 DB에 저장한다. 이때, 구글 같은 경우에는 robots.txt가 설정된 모든 페이지를 크롤링 한다고 한다.
이제, 우리가 검색을 하게 되면 DB에 저장된 데이터에서 우리가 요청한 검색에 맞는 키워드를 가진 게시글을 보내주는 것이다.
또, 신기한 것이 각종 저장된 데이터는 rank 알고리즘과, 자주 참조된 페이지 등을 토대로 우선순위를 매겨서 우선순위대로 페이지를 넘겨준다고 하는데, 너무 신기하다.

아쉬운 점

여기까지 공부를 했고, 우테코 최종 테스트에서 구현하지 못한 다익스트라 알고리즘을 다시 한 번 테스트를 해봤다. 하지만 무슨 짓을 해봐도 a -> b -> c로 갈 수 있고, c -> b로는 갈 수 없는 것을 구현할 수가 없다. 다익스트라 알고리즘에 a,b,c를 넣으면 a,b,c가 하나의 통로로 어디든지 갈 수 있게 구현이 되는 것 같은데 더 공부를 해봐야 할 것 같다.

아... 그리고 우테코에서 정말 아쉬운 것이 있는데 예외 처리 사항에서 2글자 미만을 입력할 경우 에러 메시지를 띄워주라는 요구 사항이 있었다. 난 그것을 봤지만 에러 처리를 하지 않았는데, 굉장히 큰 미스였던 것 같다.

에러 처리하는 것은 정말 어렵지 않은데, 굳이 해야 할 이유를 못느꼈기 때문에 하지 않았는데, 왜냐하면 어쩌피 현재 들어가 있는 역들은 모두 2글자 이상이었고, 존재하지 않는 역은 입력하지 못하도록 했기 때문에 하지 않아도 된다고 생각했다.

게다가 저번 미션에서 역 이름을 만들 때 2글자 이상만 가능하도록 했기 때문에 데이터로 들어가는 역도 모두 2글자 이상일 것이라고 혼자 생각했다.

다시 생각해 보니 예외 사항에 있으니까 그냥 할 걸 그랬다...

아쉬움은 묻어두고 다시 내 할 일을 열심히 해야겠다.

profile
느려도 꾸준히 발전하려고 노력하는 사람입니다.

0개의 댓글