“벌써 인턴 생활이 끝나는 달이 다가왔다. 프로젝트를 마무리하려고 하니 더 효율적인 코드로 문제를 해결할 방법을 생각하기 시작했다. 이렇게 고민하다 보면 이후 프로젝트에서는 지금보다 조금 더 효율적인 코드를 짤 수 있지 않을까?

이번 일지가 인턴 생활의 마지막 일지가 되리라 생각하니 그동안 인턴 생활을 한 번 더 되돌아보게 되는 것 같다. 짧은 기간이지만 많은 것들을 배우고, 고민하는 시간이었다. 혹시 누군가가 데일리펀딩 인턴 지원을 망설이고 있다면, 주저 없이 지원하라고 말해주고 싶다.”

 

[ 내가 작성한 코드를 다시 보며 ]

어느 정도 큰 기능들을 다 갖추고 난 다음, 사용자 매뉴얼과 테스트 시나리오를 작성하는 시간을 가졌다. 꼼꼼하게 내가 만든 사이트에서 사용자와 테스터가 할 수 있는 모든 경우의 수를 생각하다 보니 이전에 개발할 때 보지 못했던 부분들이 보이기 시작했다. 

어떤 부분은 내가 작성한 코드대로 동작한다면 사용자에게 너무 많은 지연시간을 주기도 했으며, 사용자가 여러 번 잘못된 입력을 한다면, 구현되지 않는 기능들도 보였다. 사용자가 웹을 사용하면서 충분히 일어날 수 있는 일이었지만 그동안 특정 기능을 완성시키는데 집중하다 보니 미처 생각하지 못했던 부분들을 해결하느라 한 달을 보냈다.

 

# 문제 1 -  “자동 입력 방지 문자를 입력하세요

[문제]

스크래핑 하는 한 사이트에서 비밀번호를 5회 이상 틀릴 경우 자동 입력 방지 문자를 입력해야 로그인할 수 있다. 

[해결 방법]

자동 입력 방지 문자가 있을 경우 로그인을 할 때 파라미터 값으로 자동입력 방지 문자에 대한 정보를 같이 보내준다. 

다음과 같이 문제를 해결할 수 있다.

  1. 로그인 시도 전에 자동 입력 방지 문자 이미지가 있는지 확인한다.
  2. 자동 입력 방지 문자 이미지가 없는 경우 원래의 방법으로 로그인한다.
  3. 자동 입력 방지 문자 이미지가 있는 경우 해당 웹 사이트에서 자동 입력 방지 문자 이미지를 다운로드한다.
  4. 카카오 OCR API를 이용해 다운로드한 이미지를 TEXT로 변환하여 추출한다.