코딩 / / 2022. 7. 3. 23:59

[스파르타 코딩클럽] - 웹개발 종합반 3주차

반응형

 

종료코드 1

3주차는 오타와 각종 에러의 향연이었다. 파이썬을 이용한 데이터 크롤링과 mongoDB를 이용한 데이터베이스 등록/추출을 배우는 과정에서 강의자와 세팅이 조금이라도 다르면 무조건 오류가 발생했다. 종료코드 0으로 이쁘게 나타나는 강의영상과 다르게 종료코드 1과 함께 빨간줄들이 계속 나타날때면 스트레스가 이만저만이 아니었다. 

 

나를 4일간 괴롭힌 expired certificate failed error (?ssl.c:1124)

 

 

 

 

이제는 에러코드를 해석하고 문제를 직접 해결해야 할 때

처음에 빨간 줄들이 좌라락 그어졌을때는 에러코드는 읽지도 않고 그저 세팅이 문제겠거니 다양한 세팅방법을 시도했다. 파이참을 다시깔아도 보고, 경로지정도 새로해봤지만 문제가 전혀 해결될 기미가 보이지 않자 나는 결국 주어진 운명을 마주하고 에러코드를 하나하나 읽기 시작했다. 

아무것도 모르기에 단어하나하나 구글한 결과

 

 

결국 답을 찾아냈을 때의 쾌감

여러번 구글검색을 시도한 결과 나와 비슷한 원인으로 고통받는 사람을 발견했고 답변에 적힌 내용을 그대로 따라했더니 문제가 해결되었다. 대충 사이트의 인증서가 원인이 된 문제고 인증서를 다시 등록해주는 방법을 알려주는 것 같았다. 

친절하게 12 Step으로 문제해결방법을 알려준 답변자. 정말 마법같이 문제가 해결되었다.

 

 

 

 

결국 빨간줄을 보고, 해결방법을 찾는게 코딩인가보다.

이후에도 계속되는 DB송신에러

이번주 코딩 수업에서 강의록을 벗어난 에러는 위의 certification문제를 제외하고는 없었다. 전부 오타가 있거나, 따옴표(:)를 빼먹거나, 찾는대상을 상위에 넣거나 하는 방식의 에러가 대부분이었다. 

 

이번주 가장 어려웠던 퀴즈 : 영화"가버니움"과 동일한 평점을 가진 영화를 데이터베이스에서 전부 불러오는 과제

위에는 내 코드이고 아래는 강의록의 정답코드이다. 코드의 구조는 맞았으나 실행이 안되어서 에러의 원인을 찾는데 시간의 대부분을 보냈다. 사실상 틀린그림 찾기에 가까운 코딩수업이었다. 참고로 위의 사진에서는 첫줄에 fine_one이 아니라 find_one이라고 적어야 해서 오류가 있었다. 

 

 

3주차 최종 과제

songs = soup.select('#body-content > div.newest-list > div > table > tbody > tr')

for song in songs:
        rank = song.select_one('td.number').text[0:2]
        cleanrank = rank.strip()
        title = song.select_one('td.info > a.title.ellipsis').text
        cleantitle = title.strip()
        artist = song.select_one('td.info > a.artist.ellipsis').text

        print(cleanrank,cleantitle,artist)

지니뮤직에서 순위 / 타이틀 / 아티스르 순서대로 데이터 크롤링하기

 

복잡하고 까다로운 mongoDB를 사용하는 과제가 아직 나오지 않아서 다행이라는 생각이 들었다. 

 

강의에서 알려준 배도 .strip()도 쓰고 .text[0:2]도 써서 그럴싸한 결과물이 나왔다. 그러나 마지막까지 해결하지 못한  부분은 저스틴비버의 peaches 앞에 붙은 19금 딱지가 혼자서 엄청난 공백을 만들어내고있는걸 없애지 못한 부분이다. 

 

위에는 교묘하게 캡처를 가렸지만 사실 Peaches에서 엄청난 공백이 있다.
원인은 저기 앞에 붙은 19금 딱지. 목록중에서 유일하게 title에 <span></span>태그가 하위에 붙어있기 때문

 

 

일단 .decompose()를 활용하는 것 같은데 여러 조합으로 사용해보았으나 아직까지 결과물이 나오지 않았다.

 

 

마치며

결국 마지막 과제의 답안을 찾지 못한채 3주차 과제물을 마무리하게 되었다. 다양한 에러와 문제를 회피하려는 나의 사고방식이 강의 수강을 미루는 결과를 낳았고, 일요일 12시 전에 부랴부랴 강의를 다 듣고 개발일지를 작성하게 되었다.

 

결국 코딩은 디버깅이 전부라는 말을 어디선가 들은 적이있다. 이번주에 얻은 최대의 수확은, 에러가 나면 재설치나 재부팅의 우회경로보다 결국 에러코드를 읽고 정면승부해야 문제가 해결된다는 점을 깨달은 것이다.

 

다음주부터는 3주간 배운 Html / Javascript / Jquery / Ajax / 파이썬 / mongoDB를 모두 활용하여 실제 웹페이지 작업에 들어간다고 한다. 이제 진짜 개발에 들어가는구나. 벌써부터 무수한 에러코드가 눈에 선하지만, 문제를 해결해나가면서 얻는 즐거움이 한편으로 또 기대가 된다. 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유