🐿️ 이스터에그

류기혁 행동 강령

— 행동 강령 · v2 · 2026-07-24

요약을 견디는 건 다, 추상적 판단이 어떤 구체적 몸(관계·경험)을 입고 나온 것들이다.

  1. 좌표. 바다는 “판단”이다 — 유일한 뿌리. 요약을 견디는 모든 것은 판단이 육화된 것. 관계·실시간으로 드러나면 “그 사람이라서”, 형태·경험으로 드러나면 “그 경험이라서”. 둘 다 판단. 나는 판단을 판다.
  2. 엔진. 요약은 결론을 뽑고 판단을 버린다. 그래서 판단과 분리되지 않는 것만 살아남는다.
  3. 판별식. 무엇을 하든 하나만 묻는다 — “요약당하면 죽는가?” Yes면 손대지 않는다. (결론·정보 배달 = 판단이 제거된 것 = 바깥)
  4. 도구. 도구는 판단의 배달을 넓히되, 판단하는 행위를 대체하지 않는다. 나는 루프 안에 남는다.
  5. 원형. 씨앗은 이미 손에 있다. “판단을 파는 도구”의 프로토타입은 이미 돌고 있다.
ryuk@blockchain:~$RyuOlogy

제주 블록체인 해커톤 2019

👨 류기혁·(수정: )#회고· .md

올해 7월부터 함께 스터디를 시작한 팀원들과 무박 3일의 제주 블록체인 해커톤에 참가해 수상까지 하게 되었다. 잠들기 전에 잘한 점과 아쉬운 점을 짧게 기록해본다.

JEJU BLOCKCHAIN HACKATHON 2019 네온사인과 귤이 달린 초록 벽 앞에서, 회색 후드를 입고 '최우수상 200만원'이라고 적힌 빨간 상패를 들고 서 있는 나.

댕댕이가 제주 부린다.

올해 7월부터 함께 스터디를 시작한 팀원들과 함께 해커톤에 참가하게 되었고, 수상까지 하게 되었다.

잠들기 전에 짧다면 짧고, 길다면 길었던 11월 7일(목) ~ 11월 10일(일) 무박(1박) 3일의 기억을 짧게 기록해본다.

11월 7일 (목)

11월 8일 (금)

11월 9일 (토)

11월 10일 (일)


잘한 점

(1) 어느 곳에 무게를 둘 것 인가?

대부분의 해커톤에 참가할 때마다 검증용 데이터를 기록하는 방식을 사용했지만, 이번에는 모든 데이터를 Contract에 기록하여 DB처럼 활용하기로 결정했다.

이유는 다음과 같다:

(1) 유저가 늘어남에 따라 기하급수적으로 늘어나지 않는 데이터(최대치는 전국의 반려동물 숫자)

(2) 반려동물 기록에 사용되는 가스 비용이 약 1~2원으로 저렴함

(3) 낙후된 동물 데이터 시스템을 통합할 수 있음

반려동물을 한 마리 등록하면 약 1.1원이 나왔다. (20~ 23만 | Fee 0.0055 | Klay 1.1원)

서버를 사용하면 무료지만, 블록체인의 장점을 적은 비용으로 활용할 수 있고 공동의 DB를 만들기에 가스비용 문제는 충분히 납득할 수 있었다.

또한 mapping을 활용하여 원하는 filter 데이터를 얻을 때도 큰 비용이 들지 않았다. (40~ 45만 | Fee 0.011 | Klay 2.29원)

솔리디티 코드 스크린샷. AnimalData 구조체(동물 등록 번호·이름·품종·털색·성별·생년월일·취득일·특이사항)를 정의하고, 그 아래 mapName·mapAnimalType·mapColor 등 항목별 mapping을 uint256 배열 인덱스로 선언해 두었다.

(2) 도움 요청

SmartContract를 설계하며 많은 혼란이 있었다. 혼자 문제를 해결하는 것도 도움이 되지만, 몇 시간의 고민을 키워드 담긴 조언으로 해결할 수 있다.

설계를 가지고 조언과 피드백을 받아 많은 시간을 단축했다.

“질문하는 것을 두려워하지 말자. 하지만, 질문을 잘하자!”

줄노트에 손글씨로 쓴 쪽지. "너무 고마워서 뭐라고 해야할지 키보르로 표현할 수 없어서 줄로 씁니다 고마워요"라고 적혀 있다.

멘토님들에게 감사함을 표합니다.

(3) Done is better than perfect

SmartContract에 대한 욕심이 생겨 실제 서비스에도 사용할 수 있는 수준으로 만들고 싶었다. 하지만 전체적인 타임라인에 영향을 미칠 것으로 판단하여 큰 타임라인을 정하고 데드라인을 만들었다.

“완성하지 못하고 넘어가는 것이 찜찜하기에 쉽게 포기하지 못하지만, 상황에 따라 포기하는 법도 정말 멋진 것 같다.”

욕심은 실력이 아니다.


아쉬운 점

(1) 명확한 타임라인

목요일에 아이디어 구체화, 구현 범위가 정해졌다. 동료 개발자와 작업을 나누었지만, 나의 일정 계산과 동료 개발자의 일정 계산을 명확하게 하지 못하였다. “컨트랙트와 프론트 연결 부분을 1~2일 만에 만들고 프론트를 도와줄게! 기다려!”라고 말하고, 마지막 일요일이 시작된 자정이 넘어서야 프론트를 만지기 시작했다. 12시간도 아니고, 12일에 대한 범위는 내가 구현할 것을 정확하게 인지하지 못하고, 나의 능력이 어느 정도인지 정확하게 알 수 없기 때문인 것 같다. 때때로 나에게 일어나는 아슬아슬한 문제인데. 역시나 이번에도 똑같았다. 단순한 A4용지에 기능 나열이 아닌, ‘무언가’가 필요할 것 같다.

그 ‘무언가’가 ‘무언가’인지부터 찾아보자.

(2) 해커톤의 특징

시연을 진행할 때, 아래의 반려동물 데이터를 입력을 하며 ‘아차’ 싶었다. 심사위원 분들이 데이터 입력 시간을 대기해야 하기 때문이다.

각 대회마다 심사 기준들이 다르겠지만 중요한 것은 ‘어떻게 주요 기능을 흥미롭게 보여주느냐?‘인 것 같다. “제가 이런 대단한 구현을 했지만, 프론트는 연동이 안되어 있어요.”라고 말을 해도, 그것을 보여주기가 힘들기 때문에 어느 한 곳에 균형을 잃는 것은 좋지 않다.

구현은 해야하지만, 융통성을 발휘해보자.

'반려견 등록' 화면 1단계. 반려견 이름, 품종, 모색, 성별(수컷·암컷), 중성화 수술 여부를 차례로 입력받는 폼이다.

'반려견 등록' 화면 2단계. 입양일·생년월일을 입력받고, 병력을 슬개골·결석·습진·눈물자국·각막손상·기관지협착증·발작·피부질환 태그로 고를 수 있게 되어 있다.

제주 블록체인 해커톤 2019년을 마무리 하며..

나는 반년에 한 번씩 해커톤을 나가려고 노력한다. 해커톤을 진행하며 밤을 지새울 때마다 ‘이렇게 까지 살아야하나?‘를 느끼면서, 한 편으로는 ‘아직 살아있구나.‘를 느끼기 때문이다.

지금 당장은 꾸벅꾸벅 졸면서 잠을 채우지 않은 상태이기에 ‘이제 나의 평생 해커톤은 더 이상 없다!’라고 생각하면서도 우리 팀의 아이디어가. 또, 급하게 만들어 놓은 이 프로토타입이 ‘진짜 세상에 필요할 수 있구나.‘를 느끼며 다음을 조심스레 준비한다.


이 글은 티스토리 원문(2019-11-10 발행)을 옮겨온 것이다.