SW가 막장인게 아니라 개발 과정이 막장인 무언가에 관한 얘기. 출근해서 IRC 쪽으로 얘기를 하는데 딴 회사에서 병특 중인 ㅊ 님의 얘기.
[09:11:07] < ㅊㅎ> 후우 [09:11:12] < ㅊㅎ> python은 포기해야하나... [09:11:28] < ㅊㅎ> expat 진짜 압박이네... euc-kr지원을 안하니... [09:12:41] <rein_ 실진맥> rmsep [09:12:42] <rein_ 실진맥> 근데 [09:12:45] <rein_ 실진맥> euc-kr 로 [09:12:47] <rein_ 실진맥> XML을 쓰는 [09:12:50] <rein_ 실진맥> 정신나간 곳은 어디임 [09:12:51] <rein_ 실진맥> ... [09:12:52] < ㅊㅎ> skt [09:12:56] < ㅊㅎ> openapi [09:13:04] < ㅊㅎ> 당연히 utf-8일줄알았는데 [09:13:07] < ㅊㅎ> wsdl보니 [09:13:10] < ㅊㅎ> 전부 euc-kr [09:13:19] < ㅊㅎ> 그래서 utf-8로 바꿔서 해봤더니 [09:13:23] < ㅊㅎ> 응답은 [09:13:27] < ㅊㅎ> 전부 euc-kr로 날아옴 [09:13:28] < ㅊㅎ> ...
여기까지는 상당히 가슴아픈 — 항상 euc-kr 이면 python의 decode+encode써서 인코딩 바꾸면 그만이니 — 개발 얘기지만, 반전은 더 무서움(…).
[09:48:48] < ㅊㅎ> 헤더에는 utf-8로 써놓고 [09:48:50] < ㅊㅎ> 실제 인코딩은 [09:48:53] < ㅊㅎ> euc-kr이라니
그가 삽질한 이유. 알고보면 어제 디버깅도 별거 아닌지도(???). 아니 이래서 한국어 인터넷의 인코딩들이 막장인건가…
헤더 따위 무시하고 왕복여행 ㄱㄱ ㅜㅜ
뭐 저희회사도 아님[…]
많이 당해봐서 이제는 찍어보지 않고는 믿지 않습니… ㅠㅠ
헤더는 훼이크군요. SKT의 낚시질 ㅇㅇ;
근데 또 그게 언제 바뀔지도 모르고… 항상 chardet을 이용해주면 흑흑
음. 뭐 만드시는지 알 것 같은데요. 저도 많이 당해봤지요. 인코딩 문제도 그렇고, XML validation 통과 못하게 대소문자를 마구 섞어쓰는 문제도 있었죠. 아예 HTTP 헤더가 잘못되서 웹 서버가 요청을 처리 못하는 문제가 발생해서, 중간에 HTTP 헤더를 바꿔주는 프록시 서버를 개발한 적도 있습니다. 그 중 가관이었던건 XML 내부에 바이너리를 BASE64가 아닌 그냥 바이너리로 보내는 부분이었는데, 바이너리의 크기를 명시하는 부분이 없었더랬죠. 음, 이것 말고도 많은데 이젠 가물가물하네요.
Gloridea / 이거 많이 겪을 정도면 대체 SKT는 외부 통신을 어찌하고있단거죠 -_-a
홍민희 / 흠좀. chardet를 쓰면 범용성도 올라가고 안정?적이 되긴하겠지만, 그 자체가 쓰는 시간 + 공간이 좀 크지 않을까요;
라지만 지금은 해결책이 그건가;
최재훈 / 전 정확히 뭐 만드는지는 못들었어요(…). 다만 뭔가 삽질하고 있는 얘기만 잠시 나눈거라;;;
근데 base64인코딩 해놓고 길이 모르면 패딩을 해석할 수 없게되지않나요;;;;;
그래서 그 뒤에 이어지는 태그를 가지고 적당히 자르게 만들었죠. SKT 담당자한테 이야기해놓긴 했는데, 적어도 제가 퇴사할 때까진 안 고치더군요.
아, 참고로 제가 이야기한 사례는 SKT, LGT, KTF가 하나씩 들어가 있습니다. 문제가 조금씩 달라요. 크.
아 그러고보니 HTTP죠 -_-;; 잘라낼 수는 있겠네요;
하나씩이라곤 해도 좀 무서운데요(…)
꺄아아아아아아악 호러(…)
…
뭐…표준이란것을 안지키는…안드로메다 적인 개발자 의외로 많아요…^^; 웹쪽은 좀 더한듯…;;
뭐 제가 직접 겪는건 아니니 신경을 좀 덜 쓰고 있긴한데, 저렇게 응용간 경계에 있는 사람들이 저런 식이면 문제가 많을 것 같은데요;;