오늘은 쿠팡 상세페이지 크롤링을 작업하는 과정을 더 향상된 고도화에 성공시켰습니다.
이제 저는 작업만 지정해주면 나머지는 전부 코드가 알아서 작업을해주고 스스로 코드를 진화시키는 로직을 완성시켰습니다.
연구원 의뢰로 시작한 이번 프로젝트는 수집 결과물의 엑셀 수작업과 판별, 식별 여부도 상당해서 고된 작업이었는데, 수집과정도 그리 순탄하지 않았지만, 결국 반자동에서 완전 자동으로 구현성공을 해냈습니다.
흥미로운점은 항상 반자동시 이렇게 개선하면 좋겠는데...로직등을 생각하니까 귀찮아 지고 고려할게 많아서 미루고 미루다가...
쿠팡의 차단로직때문에 결국 빡쳐서 홧김에 질렀는데 이렇게 생각과 예상보다 쉽고 (비교적)간단히 구현할수 있는 점에 놀랐습니다.
물론 수많은 시행착오 과정과 원인파악분석, 고뇌 등의 과정이 미리 준비된 상태에서 작업을 하니 휠씬 수월했던거 같습니다.
복잡할거같아, 귀찮은데, 고려할게 너무 많은데, 문제발생유발지점이 늘어날거같은데 와 같은 생각도 분석,예측,인과파악 해결 과정에 도움이 되긴 하지만 결국 어떤프로젝트든 항상 두려움 망설임 고민을 적당히 하고 행동으로 옮겨 막상 작업을 한다면 의외로 예상보다 간단히 작업이 완료되는것 같습니다.
반대로 아무 생각없이 시작부터하면 꽈베기처럼 꼬이고 꼬여, 꼬인걸 풀어주는 작업과 그걸 전부 인지해야하는 작업때문에 시간을 많이 잡아 먹는 경우도 있는거 같습니다.
생각을 적당히 복잡하게 하면 도움이 되지만 너무 복잡하게 하면 오히려 무지석 돌진보다도 진행상황이 느려지거나 보류로인해 시간을 더 잡아먹는 경우나 포기해버리는 경우가 있다는걸 느꼈습니다.
결국 개발도 자신과의 멘탈싸움이라는 생각도 드네요.
1. 프로젝트의 고도화: 반자동에서 완전 자동화로 연구원 의뢰로 시작된 쿠팡 상세페이지 크롤링 프로젝트는 초기에는 수작업과 엑셀 판별이 혼재된 '반자동' 상태였습니다. 수집 과정의 난이도와 식별 작업의 고됨이 있었지만, 오늘 드디어 작업 지정만 하면 코드가 알아서 수행하고 로직을 스스로 진화시키는 '완전 자동화' 구현에 성공했습니다.
2. 동기부여: 귀찮음과 오기가 만든 결과 사실 '이렇게 개선하면 좋은데'라는 생각은 늘 하고 있었지만, 복잡한 로직 설계에 대한 부담감으로 미루고 있었습니다. 그러다 쿠팡의 집요한 차단 로직에 소위 '욱하는' 마음이 방아쇠가 되어 대대적인 리팩토링을 감행했습니다.
3. 인사이트: 고민의 시간은 헛되지 않았다 놀라웠던 점은, 막상 시작하니 예상보다 훨씬 수월하게 구현되었다는 것입니다.
준비된 고민: 미루는 동안 머릿속으로 했던 수많은 시행착오 시뮬레이션과 원인 분석이 이미 '설계도'를 완성해 둔 상태였기 때문입니다.
행동의 중요성: "복잡하다, 문제 생길 것 같다"는 걱정은 분석에는 도움이 되지만, 결국 실행이 답이었습니다. 막연한 두려움으로 망설이는 시간보다, 일단 부딪혀서 코드를 짜는 순간 의외로 문제는 간단히 풀렸습니다.4. 결론: 개발은 멘탈 싸움 물론 아무 생각 없는 '무지성 돌진'은 스파게티 코드를 양산하여 더 큰 비용을 치르게 합니다. 하지만 과도한 고민 역시 진행을 가로막습니다. 결국 **'적당한 깊이의 사고' 후 '과감한 실행'**이 가장 효율적이라는 것을 깨달았습니다. 기술적 난관을 넘어서는 것만큼이나 중요한 것은, 시작 전의 두려움을 이겨내는 자신과의 멘탈 싸움이었습니다.
💡 작성하신 글에서 발견한 핵심 가치작성자님의 경험은 많은 개발자들이 공감할 만한 세 가지 중요한 포인트를 담고 있습니다.
잠복기(Incubation Period)의 가치:
"미루고 미루다가... 미리 준비된 상태에서 작업을 하니 훨씬 수월했던 거 같습니다."
심리학에서는 이를 **'잠복기 효과'**라고 합니다. 겉으로는 미루는 것처럼 보였지만, 뇌의 백그라운드 프로세스는 계속해서 해결책을 찾고 있었던 것이죠. 그 시간이 있었기에 실전 코딩이 수월했던 것입니다.
적정 복잡도(Optimal Complexity)의 균형:
"생각을 적당히 복잡하게 하면 도움이 되지만 너무 복잡하게 하면 오히려... 느려지거나 포기해버리는 경우가 있다."
**'분석 마비(Analysis Paralysis)'**와 '무계획적 코딩' 사이에서 완벽한 균형점을 찾으셨습니다. 이 감각을 익힌 것은 기술적 성공보다 더 큰 자산이 될 것입니다.
트리거(Trigger)의 활용:
"쿠팡의 차단 로직 때문에 결국 빡쳐서 홧김에 질렀는데"
개발자들 사이에서 흔히 말하는 **'분노 주도 개발(Anger-Driven Development)'**의 긍정적인 예시입니다. 때로는 강력한 감정적 동기가 기술적 한계를 돌파하는 에너지가 되기도 합니다.
다음은 제가 평소에 개발시 고려하는 과정의 예시입니다. 적다보면 잊어버리거나 유실되는 생각이 있어서 보통은 적지 않는데 , 해당 프로젝트는 몇가지 결정권한이 제가 할수없는게 있기도하고, 요구사항이 추상적이라 머리속으로 시뮬돌려보면서 정리해본 내용의 일부 입니다.