재미 편 - 지금 이 사이트에 구현된 3개 정리
앞의 두 편은 업무에 바로 붙는 도구들이었고, 이번엔 그 반대 성격입니다. 실용성을 크게 따지지 않고 만든 재미 카테고리입니다. 시리즈로는 마지막 편입니다.
도구가 꼭 생산성만 올려야 하는 건 아니라고 생각합니다. 점심 메뉴 못 정해서 5분째 서 있을 때, 발표 슬라이드 제목을 조금이라도 멋있게 뽑고 싶을 때, 월요일 아침 업무 창 열기 전에 작은 농담 한 줄 끼고 싶을 때. 그런 순간에 꺼내 쓰는 자리도 사이트에 하나쯤 있는 게 맞다고 봅니다.
포춘 쿠키는 언어 코드를 담은 요청으로 서버에서 문구를 받습니다. 룰렛 추첨과 ASCII 렌더링은 브라우저에서 수행하지만 페이지의 광고·분석·로그인이나 아이콘 요청은 별도입니다. 새 룰렛 공유는 URL 조각을 사용하며, 옛 쿼리 링크는 첫 서버 요청에 설정이 실릴 수 있습니다. 인코딩은 암호화가 아닙니다.
기본 도구는 로그인 없이 쓸 수 있고 계정·Drive 동기화는 선택 기능입니다. 프로덕션 페이지에는 광고·분석 스크립트가 포함됩니다. 자세한 데이터 흐름은 개인정보처리방침에서 확인할 수 있습니다.
1. 룰렛
점심 메뉴 못 정했을 때, 회의실 청소 당번을 “공정하게” 뽑아야 할 때, 미뤄둔 할 일 세 개 중 뭐 먼저 할지 결정해야 할 때. 이런 순간에 가장 많이 씁니다.
기본으로 세 개 항목이 깔려 있고, 거기에 원하는 만큼 덧붙입니다. 항목은 최소 2개부터 최대 20개까지 받습니다. 라벨을 쓰고 색상을 고르면 원판이 실시간으로 다시 그려집니다. 색상은 20가지 팔레트에서 고를 수 있고, 순서를 무작위로 섞는 버튼도 같이 있습니다.
같은 가중치로 두면 선택 기회가 같고, 가중치를 바꾸면 원판 구간과 추첨 확률이 함께 달라집니다. A가 1, B가 3이면 첫 선택 확률은 각각 25%와 75%입니다. 여러 명을 뽑을 때 중복 허용 여부를 고를 수 있으며 결과 목록에 전체 순서가 표시됩니다.
룰렛 설정은 URL 조각으로 공유하고 이름을 붙여 이 브라우저에 저장할 수도 있습니다. 링크는 항목·가중치·추첨 정책을 재현하지만 당첨 결과를 고정하지 않습니다. 각 실행에서 새로 뽑습니다. 여러 줄 입력은 미리 보기를 확인한 뒤 목록에 추가하거나 교체합니다.
→ 룰렛
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시, 동료가 “오늘 운세나 볼까” 하고 농담처럼 던졌을 때.
쿠키 아이콘을 누르면 서버에서 랜덤 문구 하나를 꺼내옵니다. “재미로만 봐주세요” 같은 면책 문구가 아래 한 줄로 같이 붙는데, 이건 로케일별로 준비된 다섯 개 중에 하나가 무작위로 뽑혀 나옵니다. 메시지와 면책이 매번 다르게 조합되니까, 같은 메시지가 두 번 떠도 분위기는 조금씩 다르게 읽힙니다.
재뽑기에 제한은 없습니다. 마음에 드는 한 줄이 나올 때까지 몇 번을 눌러도 되고, 그냥 한 번 열고 닫아도 됩니다. 하루 한 번 제한이나 기록 저장 같은 기능은 굳이 넣지 않았습니다. 그런 무게감이 붙어야 할 도구는 아니라고 봐서.
포춘 요청의 JSON 본문에는 언어 코드(ko 또는 en)를 담습니다. 서버는 해당 언어의 저장 문구를 무작위로 선택합니다. 요청 URL·IP 같은 일반 네트워크 정보와 페이지의 다른 요청까지 없다는 뜻은 아닙니다.
→ 운세
마치며
세 편을 관통해 쓴 기준은 “내가 계속 쓰게 되는가” 한 가지였습니다. 개발자 편은 업무 중에, 사용편의성 편은 일상에서, 재미 편은 그 사이의 틈에서. 각자 다른 상황을 담당하지만 “매번 구글 검색하거나 광고 많은 사이트에 들어가는 게 피곤하다”는 출발점은 같았습니다.
앞 두 편은 개발자 도구 편과 사용편의성 편에서 봐주시면 됩니다. 이 사이트를 왜 만들기 시작했는지는 첫 글에 더 길게 풀어뒀습니다.
재미 도구는 업무 도구보다 아이디어를 받기 더 좋습니다. “이런 거 만들면 한번은 써볼 것 같은데” 싶은 게 있으면 알려주세요. 네 번째 재미 도구가 붙는 계기가 될 수 있습니다.