블로그 목록으로
📖 도구 튜토리얼 管理员 · · 3 분 · 10 조회

AI가 코드를 갈수록 강력하게 작성하는데 왜 베테랑 프로그래머는 여전히 ASCII 코드표를 뒤져 문자를 찾을까

AI가 코드를 갈수록 강력하게 작성하지만, 베테랑 프로그래머는 여전히 ASCII 코드표를 떠날 수 없다. 이유는 간단하다: AI는 코드 생성에 능숙하지만, 문자 인코딩 세부 사항에서 종종 실수한다. 줄바꿈 문자가 \r\n인지 \n인지, 숨겨진 \u00A0 공백, 16진수의 0D 0A, 이러한 함정을 AI가 반드시 식별할 수 있는 것은 아니다. 128개 문자의 표를 뒤지면 몇 초 만에 문제를 찾을 수 있어, AI와 빙빙 도는 것보다 훨씬 빠르다. ASCII 코드표는 프로그래머의 구구단과 같다. 보기에는 간

며칠 전 기술 그룹에서 누군가 불평하는 것을 봤다. 요즘 AI가 코드를 이렇게 강력하게 작성하는데, Copilot, Cursor를 켜면 코드가 수도꼭지처럼 쏟아져 나오는데, 왜 아직도 베테랑 프로그래머가 거기서 ASCII 코드표를 뒤지고 있냐고? 이거 고대 시대의 물건 아니냐고? 그룹은 즉시 폭발했다. 맞장구치는 사람도 있었고, 어떤 노형은 담담하게 한마디 했다. "언젠가 새벽 3시까지 디버깅을 해보면, 왜 그런지 알게 될 거야."

솔직히 말해서, ASCII 코드표라는 것은 보기에는 정말 별것 아니다. 표 하나, 128개 문자, 0부터 127까지, 각 숫자가 하나의 문자에 대응한다. 스페이스를 치면 32, 줄바꿈을 치면 10, 대문자 A는 65, 소문자 a는 97. 이게 전부다. 초등학교 정보 수업에서 아마 다 배웠을 것이다. 하지만 문제는, 실제로 일할 때, 그것이 생각보다 훨씬 중요하다는 것이다.

AI가 코드를 작성하는 것은 정말 대단하다. 정렬 알고리즘을 생성하라고 하면 1초 만에 주석까지 붙여서 써준다. REST API를 작성하라고 하면 에러 처리까지 추가해준다. 하지만 AI에게는 문제가 하나 있다. 때때로 '지어낸다'는 것이다. 특히 문자 인코딩을 처리할 때, 겉보기에는 문제없어 보이는 코드를 생성할 수 있고, 실행해도 오류가 나지 않지만, 결과가 틀릴 수 있다. 예를 들어 텍스트 파일을 처리하라고 하면, 줄바꿈 문자를 \n으로 매칭하는데, 실제 파일에는 \r\n이 들어있다. 이 코드는 Linux에서는 잘 돌아가지만, Windows에서는 문제가 생긴다. 이때 어떻게 할까? ASCII 코드표를 뒤진다. 13은 캐리지 리턴, 10은 라인 피드, 16진수 편집기에서 0D 0A라는 문자열을 보면 즉시 문제가 어디인지 알 수 있다.

더 숨겨진 경우도 있다. 예를 들어 오래된 시스템을 디버깅할 때, 인터페이스가 반환하는 JSON에 필드가 있는데, 분명히 비어 보이지만 프로그램은 비어 있지 않다고 판단한다. 출력해보면 \u00A0이 들어있다. 이것은 줄 바꿈 없는 공백(Non-breaking space)이라고 하며, ASCII 코드표에서 160에 해당한다. 육안으로는 전혀 알 수 없지만, 코드 로직이 이것 때문에 막힌다. 이때 ASCII 코드표를 꺼내서 확인해보면, 아, 160이지 32가 아니구나. 판단 조건을 수정하면 문제 해결. AI에만 의존하면, 아마 큰 우회로를 돌려줄 것이고, 결국에는 스스로 표를 찾아야 한다.

베테랑 프로그래머가 ASCII 코드표를 뒤지는 것은 AI를 못 써서가 아니라, 어떤 것들은 AI를 믿을 수 없다는 것을 알기 때문이다. AI가 잘하는 것은 패턴 인식과 코드 생성이지만, 저수준 세부 사항을 파악하는 능력은 때때로 표 하나만 못하다. ASCII 코드표는 프로그래머의 구구단과 같다. 보기에는 간단하지만, 결정적인 순간에 목숨을 구할 수 있다. 코드를 오래 작성하다 보면, 많은 이상한 문제들이 결국 문자 인코딩으로 귀결된다는 것을 알게 될 것이다. 깨진 문자, 잘림, 비교 실패, 정규식 불일치, 십중팔구 ASCII 코드와 관련이 있다.

그리고 표를 뒤지는 일 자체도 그렇게 힘들지 않다. 브라우저를 열고 ASCII 코드표 조회를 검색하면 1초면 된다. 아니면 그냥 몇 가지 자주 쓰는 것을 외워두자: 32는 공백, 48에서 57은 숫자 0에서 9, 65에서 90은 대문자, 97에서 122는 소문자. 이것들을 기억하면, 평소 16진수 데이터를 볼 때 마음이 든든하다. 베테랑 프로그래머는 새로운 도구를 배척하는 것이 아니라, 어떤 기본기가 버려져서는 안 된다는 것을 알 뿐이다. AI가 아무리 강력해도 그것은 도구일 뿐이며, 진정한 판단은 사람이 해야 한다. 문자 인코딩도 제대로 파악하지 못하는데, AI가 생성한 코드를 감히 프로덕션 환경에 바로 올릴 수 있겠는가?

그러니 베테랑 프로그래머가 ASCII 코드표를 뒤진다고 비웃지 마라. 그들이 뒤지는 것은 표가 아니라, 경험이고, 자신감이다. 언젠가 숨겨진 \r이나 \u00A0 때문에 인생을 의심할 정도로 고생하게 되면, 당신도 조용히 그 표를 열게 될 것이다.

10 조회 · 3 분

🔗 관련 도구

이 글과 관련된 유용한 도구를 사용해보세요

📝 관련 글

이런 글도 마음에 드실 거예요

tool-tutorials

추분에 가을 살찌우기 전에 먼저 계산해보세요, 당신의 BMI는 추석 월병보다 달콤할지도 몰라요

추분에 가을 살찌우기 전에 1분만 투자해 당신의 BMI를 계산해보세요. 체중 kg을 키 m의 제곱으로 나눈 결과가 18.5에서 24 사이면 정상이고, 24를 넘으면 주의해야 하며, 28을 넘으면 진지하게 대처해야 합니다. 가을에는 식욕이 좋아 월병과 게가 차례로 등장하니 한눈팔면 배가 나옵니다. BMI 계산은 자신을 괴롭히려는 게 아니라 마음속에 기준을 두어 먹을 때 분수를 지키기 위한 것입니다. 정상이라고 방종하지 말고 높다고 불안해하지 말며 두 입 덜 먹고 두 걸음 더 걷는 것이 무엇보다 낫습니다.

09-16
tool-tutorials

동료는 AI 덕분에 매일 칼퇴하는데, 나는 아직도 밤새 원고 고치고 있어

동료는 매일 칼퇴하는데, 나는 밤새 원고 고치다가 멘탈이 터질 지경이다. 알아보니 그녀는 AI 글쓰기 도우미를 써서 자료를 넣으면 몇 초 만에 초안이 나오고, 거기에 윤색과 조정만 하면 효율이 두 배가 된다. 알고 보니 내가 노력이 부족한 게 아니라, 계속 무식하게 힘으로만 하고 있었던 것이다. 도구의 힘을 빌리는 법을 배우면 주간 보고서, 문구, 이메일 모두 AI가 먼저 바탕을 깔아주니 숨 돌릴 시간이 생긴다. 일을 잘하는 건 정말 많이 하는 것보다 더 중요하다.

09-16
tool-tutorials

애플 발표회에서 보는 비결, 작은 아이콘이야말로 브랜드 인지도의 첫 관문

애플 발표회에서 가장 음미할 만한 것은 사실 그 작은 디테일들이다. 브라우저 탭에 있는 눈에 띄지 않는 Favicon이 바로 브랜드 인지도의 첫 번째 관문이다. 사용자가 탭을 잔뜩 열어놓았을 때 무엇으로 한눈에 너를 찾겠는가? 바로 그 작은 아이콘 덕분이다. 흐릿하고 변형된 아이콘은 사용자에게 불안감을 주고, 선명하고 간결한 아이콘은 사람들이 너를 기억하게 한다. Favicon 생성기로 10분 만에 각종 크기 적응을 끝내고, 이 작은 사각형이 브랜드의 발목을 잡게 하지 마라.

09-15