
여유롭게 자전거를 타라
노트에 적힌 문장은 '여유롭게 자전거를 타라'였다. 얼마 전 마라톤 대회에서 또 사망 사고가 났다. 생활체육은 언제부터인지 기록과 장비를 겨루는 쪽으로 기울었고, 자전거를 새로 시작하는 사람은 줄었다. 그 흐름을 숫자로 짚어 본 뒤, 에스프레소 한 잔씩 마시며 천천히 도는 '에스프레소 라이드' 코스를 직접 지어 봤다. 서울 에스프레소 바 40곳을 찾고, 자전거에 맞춘 가중치로 길을 찾는 원리를 설명한 다음, 동네 한 바퀴부터 하루 코스까지 열네 개를 서울 에스프레소 라이딩 지도에 담았다. 오늘의 한 페이지 열세 번째 글.

오늘 아이디어 노트를 펼치니 이런 문장이 적혀 있었다.
여유롭게 자전거를 타라.
이 문장 앞에서 오래 머문 건 며칠 전 소식 때문이다. 10월 11일 아침 서울 도심에서 열린 하프마라톤에서 20대 여성 참가자가 결승선을 500m쯤 남긴 청계천로에서 쓰러졌다. 현장에서 심폐소생술을 받고 병원으로 옮겨졌지만 이튿날 숨졌다(MBC). 사인은 아직 알려지지 않았다. 그보다 앞선 9월 19일에는 춘천 검봉산에서 열린 산악마라톤 행사에서 46세 남성이 산길에서 심정지 상태로 발견돼 끝내 숨졌다(MBC).
두 분의 명복을 빈다. 무엇이 두 분을 쓰러지게 했는지 나는 모른다. 그걸 짐작해 말할 생각도 없다. 다만 소식을 듣고 한동안 생각이 한 곳에 머물렀다. 몸을 아끼려고 시작한 운동이 왜 이렇게 자주 몸을 한계까지 몰아붙이는 일이 됐을까.
생활체육은 언제부터 경기가 됐나
달리기 대회는 몇 해 사이 폭발하듯 늘었다. 경찰청 자료를 보면 국내 마라톤 대회 참가자는 2022년 32만 명에서 2024년 100만 명을 넘겼다. 2024년 한 해 열린 대회만 254회다. 2020년부터 2025년 9월까지 대회에서 난 안전사고 179건 가운데 63건이 2024년에 몰렸다(런톡). 사람이 늘면 사고도 는다. 당연한 말 같지만, 늘어난 사람들이 무엇을 향해 달리는지는 한번 볼 만하다. 기록증, 페이스, 메달이다.
자전거도 다르지 않다. 나도 취미로 자전거를 제법 탔다. 그런데 어느 순간부터 함께 달리는 무리가 이상한 쪽으로 가는 것 같았다. 다들 너무 위험하게 탔고, 장비와 기록을 챙기는 일이 타는 즐거움보다 앞서기 시작했다. 그래서 요즘은 혼자 조금씩 타거나, 정말 마음 맞는 사람 몇과 작게 다닌다.
이게 내 느낌만은 아닌지 숫자를 찾아봤다. 먼저 생활체육 전체에서 자전거가 차지하는 자리다.

문화체육관광부 국민생활체육조사에서 주로 하는 운동으로 자전거를 꼽은 사람은 2019년 10.3%에서 2025년 5.8%로 줄었다. 같은 기간 달리기는 4.8%에서 7.7%로 올라 자전거를 앞질렀다(문화체육관광부). 2019년 값은 지표를 매긴 방식이 지금과 같은지 확인하지 못했다. '반으로 줄었다'고 못 박기보다는 줄어드는 쪽이라고만 말해 두겠다.
그런데 자전거를 타는 사람이 준 것에 비해 동호회는 여전히 세다. 2024년 조사에서 체육 동호회에 든 사람의 가입 종목은 골프·축구·배드민턴 다음이 자전거(8.1%)였다(노컷뉴스). 가볍게 타던 사람은 빠지고, 진지하게 타는 사람은 무리를 지어 남았다고 읽을 수 있다.

자전거 회사 매출도 같은 그림을 그린다. 알톤의 연결 매출은 코로나 시기 자전거 붐을 타고 2022년 513억 원까지 올랐다가 2024년 282억 원으로 45% 줄었다(알톤 IR). 삼천리자전거도 2022년 영업이익이 한 해 전보다 89% 줄었다(이투데이). 새 자전거를 사는 사람이 줄었다는 신호로 읽힌다.
남은 사람들은 더 멀리, 더 빨리 간다. 강원도 설악산을 넘는 208km짜리 '설악그란폰도'는 2025년 정원 5,000명이 2분 만에 찼다(강원일보). 한강 자전거도로에서는 2019년부터 2023년 10월까지 사고가 471건 났는데, 서울시는 그 대부분이 추월·중앙선 침범·급한 방향 전환처럼 과속과 얽힌 사고라고 밝혔다. 권고 속도는 시속 20km고, 서울시는 이걸 법으로 묶어 달라고 국회에 건의했다(한국일보). 전국 자전거 사고로 숨진 사람은 2025년 85명으로, 사고 건수는 6% 줄었는데 사망자는 13% 늘었다(도로교통공단 TAAS).
솔직하게 적어 두자면, 장비 경쟁과 기록 경쟁을 곧장 보여 주는 공식 통계는 찾지 못했다. 로드바이크 평균 가격이 얼마나 올랐는지, 동호회 단체주행에서 사고가 몇 건 났는지는 아무도 세지 않는다. 위의 숫자들은 그 흐름을 옆에서 비추는 정도다. 그래도 방향은 한쪽을 가리킨다. 처음 시작하는 사람은 줄고, 남은 사람은 빨라졌다.
에스프레소 한 잔만큼의 속도
다른 방식을 하나 권하고 싶다. 나는 '에스프레소 라이드'라고 부른다. 에스프레소 바를 몇 군데 이어 놓고, 바에 설 때마다 한 잔씩 마시며 천천히 도는 라이딩이다. 에스프레소는 배가 부르지 않으면서 카페인을 채워 준다. 서서 한 잔 털어 넣는 데 몇 분이면 되니 쉬는 시간이 늘어지지도 않는다. 기록은 재지 않는다. 다음 바까지 가는 게 목표의 전부다.
새로운 생각은 아니다. 영국 자전거 동호회의 오랜 전통인 '클럽 런'이 이랬다. 1990년대 요크셔의 한 클럽을 회고한 글에는 "클럽 런에는 늘 카페 두세 곳이 끼었고, 카페가 자전거만큼이나 라이딩의 중심이었다"는 대목이 있다. 언덕에서 처지는 사람이 있으면 늘 기다렸고, 초보가 오면 평균 속도를 시속 11마일(약 18km)까지 낮췄다고 한다(Cycling Uphill). 영어권에서는 이런 모임을 '노드롭(no-drop) 라이드'라고도 부른다. 아무리 느린 사람도 뒤에 남겨 두지 않는다는 뜻이다(Road Bike Rider). 네덜란드 흐로닝언의 'Cycling Espresso'는 2013년부터 좋은 커피가 있는 곳에서 출발하는 노드롭 라이드를 열면서, 한 무리를 20명 이하로 묶는다(Cycling Espresso).
서울의 에스프레소 바 40곳
먼저 들를 곳이 있어야 했다. 2022년부터 2025년 사이 잡지와 신문이 소개한 서울 에스프레소 바 목록(코리아타임스·코리아중앙데일리·디에디트·보그 등)에 구별 지도 검색을 더해 후보를 모았다. 그런 다음 한 곳씩 지도 앱의 영업 상태와 가장 최근 방문 후기를 확인했다. 가게는 생각보다 빨리 사라진다. 후보 가운데 열 곳 넘게 문을 닫았거나 지도에서 찾을 수 없었다. 남은 42곳 가운데 커피스탠드와 좌석형 카페 두 곳을 빼고 40곳을 썼다.
2012년 약수동에서 문을 연 리사르가 서울 스탠딩 에스프레소 바의 원조 격이다. 지금은 종로·성수·청담·잠실에도 있다. 강남·용산과 성수 쪽에 가장 많고, 종로·중구·마포에도 여럿 있다. 중랑·강북·도봉·노원·금천 다섯 구에서는 에스프레소 바라고 부를 만한 곳을 찾지 못했다. 쏘리와 아마렐로는 이탈리아식이 아니라 에그타르트를 곁들이는 포르투갈식이다.
길찾기는 '가장 가벼운 길'을 찾는 일이다
바를 찍었으면 이제 잇는 길이 필요하다. 지도 앱이 길을 찾는 원리는 생각보다 단순하다. 도로망을 점과 선으로 바꾼다. 교차로가 점이고, 교차로와 교차로를 잇는 길 한 토막이 선이다. 선마다 숫자를 하나씩 붙이는데, 이 숫자를 가중치라고 부른다. 그러고 나면 길찾기는 출발점에서 도착점까지 이어지는 선들 가운데 숫자를 다 더한 값이 가장 작은 줄을 고르는 문제가 된다.
이 문제를 푸는 고전이 다익스트라 알고리즘이다. 네덜란드의 에츠허르 다익스트라가 1956년에 생각해 1959년에 발표했다. 출발점에서 물결이 번지듯 가까운 점부터 차례로 "여기까지는 이게 가장 싸다"를 확정해 나간다. 아직 확정하지 않은 점 가운데 가장 싼 점을 하나 꺼내 확정하고, 그 점에서 뻗은 선을 따라 이웃 점의 값을 고친다. 이걸 도착점이 확정될 때까지 되풀이한다. 가중치가 음수만 아니면 이렇게 찾은 길이 가장 싸다는 게 보장된다.
다익스트라는 사방으로 고르게 번지기 때문에 목적지 반대쪽까지 헛되이 뒤진다. 1968년 스탠퍼드 연구소의 하트·닐슨·라파엘이 내놓은 A\*(에이 스타)는 여기에 "남은 길은 적어도 이만큼"이라는 짐작을 더한다. 지도에서는 두 점 사이 직선거리가 좋은 짐작이다. 실제 길이 직선보다 짧을 수는 없으니까. 물결이 목적지 쪽으로 쏠려 번지고, 그만큼 덜 뒤진다.

서울 도로망에서 종로의 세컨드커피부터 연희동의 연희 에스프레소바까지 두 방법으로 찾아 봤다. 다익스트라는 교차로 26,197곳을 확정하고 나서야 도착했다. 한강 건너 강남까지 뒤졌다. A\*는 8,582곳만 보고 같은 길을 찾았다. 실제 지도 서비스는 여기서 한 걸음 더 나간다. 도로망을 미리 손질해 두는 방법(축약 계층, contraction hierarchies 같은 것)을 써서 대륙만 한 도로망에서도 몇 밀리초 만에 답한다.
자전거에게 가벼운 길
중요한 건 알고리즘보다 가중치다. 알고리즘은 숫자의 합이 가장 작은 길을 성실하게 찾을 뿐이고, 무엇을 가볍다고 칠지는 숫자를 붙이는 사람이 정한다. 가중치가 거리면 가장 짧은 길이 나온다. 걸리는 시간이면 가장 빠른 길이 나온다. 자동차 내비게이션은 대개 시간을 쓴다. 그래서 고속도로로 돌아가는 길이 골목 지름길을 이긴다.
자전거는 기준이 다르다. 짧아도 8차로 간선도로라면 한강 자전거도로로 2km 돌아가는 편이 낫다. 그래서 자전거 길찾기는 거리에 '이 길이 자전거에게 얼마나 부담스러운가'를 곱한다. 이번에 쓴 표는 이렇다.
| 길 종류 | 오픈스트리트맵(OSM) 표시 | 계수 |
|---|---|---|
| 자전거 전용도로 | highway=cycleway | 1.0 |
| 자전거·보행자 겸용도로 | footway·path + bicycle=designated | 1.4 |
| 골목·이면도로 | residential·service·living_street | 1.5 |
| 2차선급 도로 | tertiary | 2.2 |
| 보조간선도로 | secondary | 3.0 |
| 주간선도로 | primary | 4.5 |
자전거 전용도로 1km는 1km로 센다. 주간선도로 1km는 4.5km를 달린 만큼 무겁게 친다. 그러니 길찾기는 간선도로 1km를 피하려고 전용도로로 3.5km를 더 도는 것까지 받아들인다. 차도라도 자전거 차로가 그려져 있으면 계수를 30% 깎고, '자전거에서 내려 끌고 가시오' 표시가 붙은 곳은 네 배로 무겁게 쳤다. 고속도로와 자동차 전용도로는 아예 지도에서 뺐다.
이 숫자는 내가 정했다. 정답이 있는 값이 아니고 라이더마다 다르다. 같은 출발지와 도착지를 세 가지 표로 찾아 비교했다. 거리만 보는 자동차식, 위 표, 그리고 큰길을 훨씬 더 꺼리는 조심 모드(주간선도로 계수 12)다.

거리만 보면 6.73km인데 그 97%가 큰 차도다. 자전거 가중치를 주자 7.96km로 1.2km 늘었지만 차도는 11%로 줄었다. 조심 모드에서는 9.54km까지 늘어나는 대신 차도를 한 번도 타지 않는다. 길이 짧아지는 쪽과 안전해지는 쪽은 대개 서로 반대로 움직인다. 가중치는 그 사이 어디에 설지를 정하는 손잡이다.
이 구조는 내가 생각해 낸 게 아니다. 오픈소스 길찾기 엔진들이 모두 같은 틀을 쓴다. OSRM은 교통수단마다 '프로필'이라는 작은 스크립트를 둔다. 자전거 프로필은 길 종류마다 속도와 선호를 정하고, 자동차 프로필은 같은 도로망에 전혀 다른 숫자를 붙인다. GraphHopper는 '커스텀 모델'이라는 이름으로 길 종류·포장·경사에 곱할 값을 사용자가 직접 적게 한다. Valhalla의 자전거 비용 함수에는 큰길을 얼마나 견딜지(use_roads)와 언덕을 얼마나 견딜지(use_hills)를 0에서 1 사이로 고르는 손잡이가 있다. 휠체어 길찾기라면 계단을 아예 지우고 턱과 경사에 무게를 더할 것이다. 도로망은 그대로 두고 숫자만 바꿔 붙이면 다른 교통수단의 길찾기가 된다.
바를 어떤 순서로 이을까
두 점 사이 길을 찾을 수 있게 되면 남은 문제는 어느 바들을 어떤 순서로 들를지다. 순서 쪽은 이름난 외판원 문제다. 들를 곳이 열 곳 이하라면 컴퓨터가 정답을 낼 수 있다. 바 하나에서 출발해 모두 들르고 돌아오는 고리 가운데 가장 가벼운 것을, 부분 집합마다 답을 적어 가며 푸는 동적계획법(홀드-카프 알고리즘)으로 찾았다. 바 아홉 곳이면 경우의 수가 4만 가지가 넘지만, 이 방법으로는 1초도 안 걸린다.
어느 바를 고를지는 조금 거칠게 풀었다. 코스마다 허용할 구를 먼저 정한다. 그 안의 바들 가운데 몇 곳을 무작위로 뽑아 가장 가벼운 고리를 만들고, 이걸 수천 번 되풀이한다. 목표 거리 안에 든 고리 가운데 '가중치 합 ÷ 실제 거리'가 가장 작은 것, 그러니까 1km를 달리는 동안 짊어지는 부담이 가장 적은 고리를 남긴다. 동네 코스는 한 구 안이나 붙어 있는 구 한두 곳 안에서만 고르게 하고, 경로의 85% 이상이 그 구 안을 지나야 통과시켰다.
걸리는 시간은 길 종류마다 속도를 달리 매겨 셈했다. 전용도로는 시속 17km, 겸용도로와 골목은 신호와 보행자를 생각해 12~13km, 차도는 14km다. 대회에서 달리는 속도가 아니라 여유롭게 페달을 밟는 속도다. 바마다 20분씩 쉰다고 쳤다.
도로망은 오픈스트리트맵 원본(10월 14일 자)에서 자전거가 달릴 수 있는 길만 골라 서울 경계 800m 바깥까지 잘라 썼다. 교차로가 13만 3,988곳이고, 자전거 전용도로가 870km, 겸용도로가 1,285km다. 한계도 적어 둔다. 일방통행은 무시했다. 자전거는 차도에서 일방통행을 지켜야 하니, 골목 구간은 표지판을 보며 달려야 한다. 언덕도 셈에 넣지 않았다. 남산과 북악을 끼는 종로·중구 코스는 숫자보다 힘들 것이다. 신호 대기와 다리 진입로의 계단·엘리베이터도 지도 자료가 허락하는 만큼만 들어 있다.
서울 에스프레소 라이딩 지도
그렇게 만든 코스 열네 개를 한 장에 담았다. 오른쪽 목록(휴대폰에서는 아래)에서 코스를 누르면 지도에 길이 그려진다. 길 색이 초록에 가까울수록 자전거길이고 빨강에 가까울수록 차도다. 번호 붙은 컵이 들르는 바의 순서다. '가중치 비교' 탭에서는 위에서 본 세 가지 표의 길을 직접 바꿔 볼 수 있다.
| 코스 | 거리 | 걸리는 시간 (쉼 포함) | 자전거길 비율 | 들르는 바 |
|---|---|---|---|---|
| 강남 한 바퀴 | 9.6km | 1시간 39분 | 63% | 도터스 → 타우너스 역삼 → 리사르 청담 |
| 영등포 한 바퀴 | 10.1km | 1시간 47분 | 37% | 바이러닉 동여의도 → 심플리 → 찬스 |
| 관악·구로 한 바퀴 | 11.2km | 1시간 46분 | 51% | 데이즈 라이크 디스 → 칼도 보라매 → 아마렐로 구로 |
| 중구 한 바퀴 | 11.9km | 1시간 57분 | 8% | 리사르 약수 → 스탠드업플리즈 을지로 → 드로우 |
| 광진·송파 한 바퀴 | 12.6km | 1시간 49분 | 85% | 리사르 장미 → 선호커피 바 → 모츠커피 |
| 용산 한 바퀴 | 14.5km | 2시간 4분 | 41% | 머큐리 → 피어커피바 → 오르소 |
| 성동·동대문 한 바퀴 | 14.6km | 1시간 59분 | 66% | 쏘리 제기 → 스탠드업플리즈 성수 → 프롤라 |
| 종로·동대문 한 바퀴 | 17.4km | 2시간 41분 | 27% | 쏘리 경복궁 → 세컨드커피 → 쏘리 제기 → 리사르 종로 |
| 마포·강서 한 바퀴 | 29.3km | 2시간 54분 | 73% | 피프 연남 → 보스코 → 칼도 마곡 |
| 여의도에서 성수까지 | 39.2km | 4시간 31분 | 80% | 바 6곳 |
| 잠실에서 여의도까지 | 48.0km | 4시간 35분 | 91% | 바 5곳 |
| 성수·강동·영등포 한강 고리 | 58.2km | 5시간 38분 | 90% | 바 6곳 |
| 마곡에서 청담까지 | 58.7km | 5시간 19분 | 86% | 바 5곳 |
| 서울 에스프레소 하루 | 75.6km | 7시간 25분 | 82% | 마곡에서 강동까지 바 8곳 |
숫자를 보면 한 가지가 또렷하다. 한강을 끼는 코스는 자전거길 비율이 80~90%까지 올라가는데, 도심 코스는 아무리 가중치를 줘도 10~40%에 그친다. 중구는 8%다. 서울의 자전거길은 강과 하천을 따라 놓였고, 사람과 가게가 모인 도심에는 거의 없다. 가중치로 할 수 있는 건 차도 대신 골목을 고르는 데까지다.
하루 코스는 마곡의 칼도에서 강동의 알코까지 한강을 따라 오가며 바 여덟 곳을 들른다. 실제로 페달을 밟는 시간은 4시간 46분이고, 나머지는 서서 커피를 마시는 시간이다. 에스프레소 여덟 잔이 부담스러우면 디카페인을 시키거나 한두 곳은 물만 마시고 지나가도 된다. 가기 전에 영업시간은 꼭 확인해야 한다. 에스프레소 바는 일찍 닫는 곳이 많고, 지도에 넣은 가게도 언제든 옮기거나 닫을 수 있다.
여유롭게
길찾기 엔진이 가르쳐 준 게 하나 있다. 가장 짧은 길은 대개 가장 위험한 길이다. 조금 돌아가기로 마음먹으면 길은 금세 순해진다. 1.2km를 더 달리고 차도를 97%에서 11%로 줄이는 거래라면 나는 언제든 받아들이겠다.
라이딩도 그렇다. 남보다 빨리 도착하려고 달리면 길이 좁아진다. 다음 바까지만 가면 되는 라이딩에서는 늦게 와도 아무도 떠나지 않는다. 바 앞에 자전거를 세우고, 작은 잔을 비우고, 다음 바로 간다. 오늘 아침 노트가 한 말도 결국 그 정도였을 것이다.
다시 한번, 대회에서 세상을 떠난 두 분의 명복을 빈다.
『오늘의 한 페이지』는 그렇게 노트 속 한 줄에서 출발해 오늘의 생각 한 장에 가닿는다.