재미 편 - 지금 이 사이트에 구현된 3개 정리

재미 도구ASCII 아트운세룰렛

앞의 두 편은 업무에 바로 붙는 도구들이었고, 이번엔 그 반대 성격입니다. 실용성을 크게 따지지 않고 만든 재미 카테고리입니다. 시리즈로는 마지막 편입니다.

도구가 꼭 생산성만 올려야 하는 건 아니라고 생각합니다. 점심 메뉴 못 정해서 5분째 서 있을 때, 발표 슬라이드 제목을 조금이라도 멋있게 뽑고 싶을 때, 월요일 아침 업무 창 열기 전에 작은 농담 한 줄 끼고 싶을 때. 그런 순간에 꺼내 쓰는 자리도 사이트에 하나쯤 있는 게 맞다고 봅니다.

세 도구 중 운세 하나만 서버를 거칩니다. 메시지를 DB에서 무작위로 한 줄 꺼내오는 용도라 넘어가는 건 언어 코드뿐이고, 나머지 두 도구는 전부 브라우저 안에서 끝납니다. 룰렛은 설정한 내용이 URL에 얹혀 공유되지만, 그 링크도 항목을 인코딩한 값이라 서버로는 아무것도 가지 않습니다.

광고 없고 회원가입 없습니다.

1. 룰렛

점심 메뉴 못 정했을 때, 회의실 청소 당번을 “공정하게” 뽑아야 할 때, 미뤄둔 할 일 세 개 중 뭐 먼저 할지 결정해야 할 때. 이런 순간에 가장 많이 씁니다.

기본으로 세 개 항목이 깔려 있고, 거기에 원하는 만큼 덧붙입니다. 항목은 최소 2개부터 최대 20개까지 받습니다. 라벨을 쓰고 색상을 고르면 원판이 실시간으로 다시 그려집니다. 색상은 20가지 팔레트에서 고를 수 있고, 순서를 무작위로 섞는 버튼도 같이 있습니다.

가중치 기능은 일부러 넣지 않았습니다. 룰렛에 결정을 맡긴다는 전제 자체가 “모든 선택지에 동등한 기회”라는 감각 위에서 돌기 때문입니다. 회전은 4초 동안 다섯 번 이상 돌고 멈춥니다.

세팅한 룰렛은 URL로 공유됩니다. “오늘 점심 뭐 먹지” 같은 3~4개 항목을 한 번 만들어 사내 채팅에 링크로 던지면, 같은 원판이 상대 기기에서도 똑같이 돕니다. 매주 돌리는 고정 룰렛이라면 북마크해두고 써도 됩니다.

룰렛

2. ASCII 아트

README의 대문 타이틀을 텍스트 로고처럼 뽑고 싶을 때, 커밋 메시지 위에 큼지막한 구분선을 얹고 싶을 때, 슬랙에 평범한 문구 대신 텍스트 아트로 한 줄 갈길 때.

폰트는 10가지 들어있습니다. 기본 Standard 외에 Banner, Big, Block, Doom, Lean, Slant, Small, Speed, Star Wars. 이름에서 분위기가 어느 정도 짐작되지만 실제로는 클릭해서 바로 비교하는 게 빠릅니다. 입력하면 300ms 뒤에 결과가 다시 그려지기 때문에, 폰트를 순서대로 훑어보며 마음에 드는 걸 골라도 손이 바쁘진 않습니다.

출력 너비는 40/60/80/100/120/160 여섯 단계에서 고릅니다. 터미널에서 쓸 건지, Markdown 코드 블록에 넣을 건지에 따라 어울리는 너비가 달라지는데, 저는 README용으로는 6080, 터미널 배너용으로는 100120을 주로 씁니다.

한 가지 주의할 점은 figlet 기반이라 입력이 영문·숫자·기호에 한정된다는 겁니다. 한글을 넣으면 경고가 뜨고 결과는 대부분 깨져 나옵니다. 길이는 500자까지 받지만 폰트에 따라 너비가 금세 터지니 한 줄 제목 용도로 보는 게 맞습니다. 결과는 한 번 클릭으로 클립보드에 들어갑니다.

ASCII 아트

3. 운세

월요일 업무 탭을 열기 직전, 흐름을 한 번 끊고 싶은 오후 3시, 동료가 “오늘 운세나 볼까” 하고 농담처럼 던졌을 때.

쿠키 아이콘을 누르면 서버에서 랜덤 문구 하나를 꺼내옵니다. “재미로만 봐주세요” 같은 면책 문구가 아래 한 줄로 같이 붙는데, 이건 로케일별로 준비된 다섯 개 중에 하나가 무작위로 뽑혀 나옵니다. 메시지와 면책이 매번 다르게 조합되니까, 같은 메시지가 두 번 떠도 분위기는 조금씩 다르게 읽힙니다.

재뽑기에 제한은 없습니다. 마음에 드는 한 줄이 나올 때까지 몇 번을 눌러도 되고, 그냥 한 번 열고 닫아도 됩니다. 하루 한 번 제한이나 기록 저장 같은 기능은 굳이 넣지 않았습니다. 그런 무게감이 붙어야 할 도구는 아니라고 봐서.

서버로 넘어가는 건 언어 코드(ko 또는 en) 하나뿐입니다. 세션이나 계정 같은 식별자는 같이 가지 않고, 서버가 하는 일도 DB에서 랜덤 한 줄을 뽑아 돌려주는 게 전부입니다.

운세

마치며

세 편을 관통해 쓴 기준은 “내가 계속 쓰게 되는가” 한 가지였습니다. 개발자 편은 업무 중에, 사용편의성 편은 일상에서, 재미 편은 그 사이의 틈에서. 각자 다른 상황을 담당하지만 “매번 구글 검색하거나 광고 많은 사이트에 들어가는 게 피곤하다”는 출발점은 같았습니다.

앞 두 편은 개발자 도구 편사용편의성 편에서 봐주시면 됩니다. 이 사이트를 왜 만들기 시작했는지는 첫 글에 더 길게 풀어뒀습니다.

재미 도구는 업무 도구보다 아이디어를 받기 더 좋습니다. “이런 거 만들면 한번은 써볼 것 같은데” 싶은 게 있으면 알려주세요. 네 번째 재미 도구가 붙는 계기가 될 수 있습니다.