해마다 12월이면 수십만 명의 개발자가 Advent of Code를 풀고, 그중 많은 사람이 풀이를 올립니다. 거의 항상 이미지로, 그리고 거의 항상 크기를 잘못 잡은 채로요.
이미지가 이기는 이유는 간단합니다. 대부분의 플랫폼은 붙여넣은 코드를 망가뜨립니다. 들여쓰기는 무너지고 문법 색은 사라지며, 잘 짜인 한 줄짜리 코드가 알아볼 수 없는 덩어리가 됩니다. 이미지는 그 모든 걸 피해 갑니다. 다만 대가도 분명하고, 짚고 넘어갈 만합니다. 이미지는 복사할 수도, 검색할 수도, 화면 낭독기로 읽을 수도 없습니다. 그러니 원본 링크를 함께 올리세요.
파일 전체가 아니라 흥미로운 부분만
가장 흔한 실수는 풀이 파일 전체를 캡처하는 것입니다. 60줄짜리 이미지를 휴대폰으로 읽는 사람은 없습니다. Advent of Code 풀이에는 대개 흥미로운 아이디어가 딱 하나 들어 있습니다. 입력 파싱, 점화식, 완전 탐색을 순식간으로 바꿔 놓은 요령 같은 것 말이죠. 그걸 캡처하고 나머지는 저장소 링크에 맡기세요.
타임라인에서 읽히는 한계는 열 줄에서 열다섯 줄쯤입니다.
내 화면이 아니라 올릴 곳에 맞춰 크기를 정하기
풀이 이미지 대부분이 무너지는 지점이 여기입니다. 27인치 모니터에서 멀쩡해 보이던 코드가 피드 안에서는 6포인트 글자가 됩니다.
- 타임라인 게시물에는 16:9나 4:3이 맞습니다. 그보다 넓으면 맞추느라 글자가 작아집니다.
- 세로 피드에는 9:16이나 3:4가 맞습니다. 대부분의 풀이가 원래 높고 좁은 모양이라 잘 어울리기도 합니다.
- 어디에 올리든 2× 또는 3×로 내보내세요. 1× 이미지는 레티나 화면에서 흐릿하고 조금 아마추어처럼 보입니다.
Codeshot에서는 비율 항목이 그 역할을 합니다. 원본에서 고정으로 바꾸고, 비율을 고르고, 내보내기 배율을 설정하면 됩니다. 매번 같은 세 가지입니다.
대비가 있는 테마 고르기
12월의 스레드는 코드 이미지의 벽입니다. 읽히는 건 한눈에 읽히는 것들이죠. 대비가 높은 테마가 은은한 테마보다 작은 글자를 잘 버팁니다. Tokyo Night, Atom One, Solarized는 축소해도 버티지만, 대비가 낮은 테마 몇 가지는 그러지 못합니다.
한 달 동안 쓸 테마를 정하기 전에 30가지를 여기서 비교해 볼 수 있습니다.
25일 내내 같은 설정으로
매일 올릴 생각이라면 테마와 배경, 비율은 첫날에 정하고 다시는 건드리지 마세요. 일관성이 있어야 피드에서 시리즈로 알아볼 수 있습니다. 그리고 현실적으로는, 매번 드는 이십 초의 손질을 없애 줍니다. 사람들이 열하루쯤에서 그만두는 진짜 이유가 대개 그것이거든요.
네이티브 앱이 여기서 유리한 건 설정을 다음 실행까지 기억한다는 점입니다. 1일에 맞춰 두면 그다음부터는 붙여넣고, 내보내고, 올리는 게 전부입니다.
스포일러에 관하여
Advent of Code 제작자는 리더보드가 채워지기 전에는 풀이를 공개하지 말아 달라고 부탁합니다. 해당 연도의 안내를 확인하고, 애매하면 그날이 진행되는 중이 아니라 끝난 뒤에 올리세요.
전체 흐름은 코드를 이미지로 만드는 방법에 정리해 두었습니다.