갑작스러운 업무 추가와 파이썬 라이브러리
며칠 전부터 사무실에서 PDF 문서를 일괄적으로 처리해야 하는 일이 생겼다. 평소에는 대충 웹에서 긁어다 쓰는 게 일상이었는데, 이번에는 무슨 ‘접근성 태그’라는 걸 꼭 넣어야 한다는 지시가 떨어졌다. 처음에는 이게 뭔지도 몰라서 그냥 검색창에 어플만드는법이나 소프트웨어개발 커뮤니티를 기웃거렸다. 그러다가 한컴에서 PDF 접근성 태그를 자동으로 만들어주는 걸 오픈소스로 풀었다는 소식을 봤다. 파이썬이나 Node.js 라이브러리로 쓸 수 있다길래 덜컥 기대부터 했다. 예전에 Node.js로 Express 붙여서 간단한 툴 만들 때 겪었던 골치 아픈 일들은 까맣게 잊고 말이다.
환경 설정에서 겪은 예상치 못한 꼬임
회사 서버 환경이 좀 뒤죽박죽이다. 어떤 건 파이썬 3.8이고 어떤 건 3.12를 쓰고, Node.js는 버전 관리도 제각각이라 툭하면 버전 충돌이 난다. 한컴에서 제공한 라이브러리를 설치하려고 pip install을 날렸는데, 갑자기 의존성 오류가 우수수 쏟아졌다. 분명 매뉴얼대로 했는데도 로컬 환경에서 도저히 동작하지 않았다. 사실 내가 파이썬 패키지 의존성 관리할 때마다 느끼는 거지만, 이건 언어의 문제라기보다는 내가 세팅을 너무 대충 해놓은 탓이 크다. 몇 시간 동안 터미널이랑 씨름하다가 결국 포기하고, ‘이걸 굳이 지금 해야 하나’라는 생각이 머릿속을 맴돌았다.
Node.js와의 연동 고민
사실 우리 팀에서 메인으로 쓰는 건 Node.js 기반의 앱 서비스다. 한컴에서 내놓은 게 명령줄 도구도 같이 제공한다고 해서 그걸로 우회할까 싶기도 했다. child_process로 파이썬 스크립트를 찔러볼까 했는데, 예전에 Vue로 프론트엔드 작업할 때 검색 엔진 최적화가 안 돼서 며칠 밤을 샜던 기억이 났다. 그땐 결국 Next.js로 바꾸고 나서야 겨우 해결했는데, 이번 PDF 건도 괜히 건드렸다가 서버 성능만 갉아먹고 배포 프로세스만 복잡해지는 거 아닐까 싶다. 어플제작비용 아끼겠다고 직접 붙이다가 배보다 배꼽이 더 커지는 상황이 너무 눈에 훤하다.
그래도 일단 돌아는 가야 하는데
지금 상황에서 가장 짜증 나는 건, 이게 단순히 문서 처리 문제로 끝나는 게 아니라 나중에 규제 준수까지 연결된다는 점이다. 상용 솔루션이 곧 나온다고는 하지만, 그때까지 기다릴 여유는 없다. 주변에 게임개발자 하는 친구한테 물어봤더니 ‘그냥 외부 API 쓰지 왜 직접 붙이냐’고 타박하더라. 하지만 보안 이슈 때문에 외부 서버로 문서를 보내는 것도 쉽지 않다. 결국은 내가 내 로컬이랑 서버에서 어떻게든 굴러가게 만들어야 하는데, 이놈의 접근성 태그가 뭔지 지금도 이해가 완벽히 안 간다.
남겨진 숙제와 모호한 결말
결국 오늘은 그냥 예제 코드 몇 줄만 실행해보고 퇴근하기로 했다. 완벽하게 연동하려면 한참 더 남았는데, 왜 이렇게 개발은 해도 해도 끝이 없는지 모르겠다. 어플 만드는 법이 어렵다는 건 알고 있었지만, 이런 문서 처리 하나까지 파고들어야 하는지 현타가 좀 온다. 내일 다시 출근하면 또 버전 충돌부터 잡아야겠지. 상용 솔루션이 나오면 좀 편해질까 싶다가도, 결국 그건 또 돈 문제로 이어질 텐데. 모르겠다. 일단 오늘까지는 이 오류 메시지 안 보고 싶다. 내일 해결이 될지, 아니면 또 다른 핑계를 대고 미룰지 나도 잘 모르겠다.
