오늘은 미니프로젝트를 진행하며 서로간의 소스를 합치는 시간이 있었다.
가장 처음 commit을 진행한건 나였다.
기능을 만들고, 팀원들이 이해하기 1~2줄 마다 주석을 상세히 적은 나의 코드에 사랑을 담아 정성스레 서버로 보냈다.
마지막으로 조장님이 소스를 올리고, 모두의 정성이 담겨진 소스코드를 포장된 선물 상자처럼 소중이 받아온 나는 상자의 뚜껑을 열고 충격을 금치 못했다.
내가 정성스레 적은 소스코드는 사라지고, 오로지 조장님의 소스만이 남았기 때문이다.
당황스럽지만 침착스럽게 로그를 분석하기 시작했고 난 불편한 진실을 목도했다.
조장님은 내 소스코드를 받고, 그대로 삭제한 뒤 자신의 소스코드를 붙여넣어 push를 해버렸다.
로그에 떠 있는 내 소스코드는 붉게 물들어 마치 갈기갈기 찢어진 피웅덩이 같아 보였다.
나는 이 사실을 조장님에게 알리고 곧 내 소스코드의 행방을 찾을 수 있었다.
내 소스코드는 효수되어 조장님의 컴퓨터에 고이 남겨지고, 사라진 소스코드의 자리는 붉은 핏물이 고인채로 서버로 올라간 것이다.
이 날의 비극은 경험과 아픔이 되어 우리에게 남을 것이다.
push전 3번을 고려하는 삼고초려의 마음을 가지고 살아가야겠다.
오늘은 프로그래머스 그리드 알고리즘을 풀었다
level1을 풀었는데도, 익숙치 않아서 인가 완성된 내 소스코드는 너무 지저분해 보였다.
점점 익숙해지고 나아지길 바란다.
알고리즘 문제를 푸는데 정렬이 필요해 sort() 기능을 사용했다.
막상 기능을 가져다 사용하니, 내부 구조를 분석하고 이해해야 하지 않을까 고민이 들었다.
gitgub에 올려진 Cpython을 분석해보고자 했으니 양이 방대하기도 해서 막막한 느낌이 든다.
그래도 어렵고 깊은 분석을 할 수록 내 능력이 올라간다는 증거일테니 내일 자료를 검색하고 다시 도전을 해봐야 겠다.
오늘은 유튜브 크롤링을 진행하면서 bs4 없이 requests.get을 사용해 페이지 데이터를 가져오고, 직접 특정 단어를 기반으로 index를 찾아내 json 형태로 변환 시켰다.
야매로 크롤링을 진행할수록 진정한 크롤링의 의미를 고민하게 된다.
이전에도 다른 글에서 봤던 것이지만, bs4로 url 따고 Selector 하나 복사해다가 넣었다고 크롤링이라 할 수는 없을 것 같다.
bs4조차 사용하지 않고, 텍스트 에서 Json 구조를 분석해 해내는 방안을 사용하는데, 나름대로 서비스에 구조에 대해서 이해하기 좋은 방법일 지도 모른다.
진정한 크롤링의 의미에 대해서는 한번 공부하면 좋은 경험이 될지도 모르겠다.