‘먹방 전성시대’
먹는 모습을 보여주는 방송이라는 뜻으로, 1인 미디어에서 각광받는 콘텐츠가 바로 ‘먹방’일 것이다. 1인 미디어뿐만 아니라, 케이블TV와 공중파까지 가세해서 다양한 교양과 예능으로서 먹방이 자리를 잡고 있는 것 같다.
음식에 대한 이야기는 다양한 모임에서 화기애애한 주제를 만들어 준다. 과거에는 먹는 것이 생존의 문제였다면, 현대인에게 음식은 즐거움과 문화의 영역이 된 것 같다.
예전에는 TV에서 요리 교실을 주제로 하여, 가정에서 주부들이 직접 만드는 것에 대한 콘텐츠가 주류를 이룬 반면, 최근에는 현대인들이 바쁜 와중에도 냉장고에서 손쉽게 구할 수 있는 재료를 이용한 요리법을 예능 프로그램의 소재로 사용하기도 한다.
그럼, 이 세상에서 제일 맛있는 음식이 무엇인가?
개인의 차이가 있겠지만, 아무도 어렸을 때부터 먹었던 친숙한 음식이 아닐까 싶다.
그렇다면, 맛있는 음식을 만드는 비법이 무엇인가?
제일 처음이 사랑과 정성이 담긴 어머니의 손맛이 우선이요, 다음은 가족이 먹을 음식을 만들기 위해 신선하고, 영양가 높은 재료들의 덕분일 것이다.
음식이 좋은 재료의 영향을 받는다면, 소프트웨어는 자료 구조의 영향을 받는다.
자료구조의 중요성과 필요성을 지난 칼럼에서 언급한 바 있다. 일반적으로 프로그램은 자료구조와 함수로 정의한다고 했다. 음식이 같은 재료라도 한식, 중식, 양식 등으로 나누어지듯이, 자료 구조도 달리 쓰이는 경우가 있다.
과거에 많이 사용했던 절차적 방법에서는 프로그램을 자료구조와 함수로 정의하지만, 최근에 주로 사용하고 있는 객체지향 방법에서는 단계가 하나 더 있다. 객체는 자료구조와 함수로 되어 있고, 프로그램은 객체들의 집합으로 정의하고 있다.
자료구조(Data Structure)는 일련의 동일한 타입의 데이터를 정돈하여 저장한 구성체이다.
데이터를 정돈하는 목적은 프로그램에서 저장하는 데이터에 대해 탐색, 삽입, 삭제 등의 연산을 효율적으로 수행하기 위함이다. 그래서, 자료구조 설계 시 데이터와 데이터에 관련된 연산들을 함께 고려 필요가 있다.
자료를 함수에 의해 처리하고 나온 결과를 다시 구조화 하는 일련의 과정이 프로그램이 되는 것이다. 이러한 프로그램들이 묶여서 크고 작은 다양한 일을 하도록 구성된 것이 시스템으로 불리는 소프트웨어 덩어리가 된다. 시스템을 구성하는 프로그램을, 프로그램을 구성하기 위한 자료구조의 중요성이 매우 크게 작용할 수 있는 이유가 여기에 있다. 마치 음식이 주재료와 보조재료로 다양한 절차를 통해 중간단계를 거쳐 최종 음식이 되는 것처럼, 소프트웨어가 완성되는 과정과 닮아있다.
어떤 음식을 만들까? 어떤 재료가 필요한가? 만들어 본 적이 있는 음식인가? 주방도 없는데 음식을 만들 수 있나? 주방기구가 별로 없는데 음식이 제때 만들 수 있나? 음식재료가 균형이 맞지 않는데 좋은 음식이 될까? 상한 재료가 있는데 음식에 넣어도 되나?
이런 음식에 대한 질문을 그대로 블록체인에 대입해서 살펴보면, 그 프로젝트의 성패를 어느 정도 예측할 수 있다. 우리가 불량 음식에 대한 보도를 보면서 ‘먹는 것 같고 장난 치면 안된다’고 공분하는 느낌을 블록체인 프로젝트에서도 동일하게 느끼게 될 것이다.
내 가족이 먹을 음식을 만들면서, 대충하거나 나쁜 재료를 사용하는 사람은 없을 것이다. 이러한 가족을 위해 정성을 다해 음식을 만들듯이, 블록체인 프로젝트에 참여하면 참여자에게 피해를 주는 나쁜 프로젝트는 사라지게 될 것이다.
앞서 질문한 가장 맛있는 음식에 대한 얘기를 다시 해보면, 어머니들의 공통된 대답은 ‘남이 해주는 음식’이라고 농담처럼 얘기를 하신다. 이번 주말은 어머니를 위한 요리 비법을 공개해 보는 건 어떨까?/조민양 동서울대학교 교수
- 심두보 기자
- shim@decenter.kr