프로그래밍 오리엔테이션

원리의 대소관계

oauth. 그 동안 나를 꾸준히 괴롭혔던 녀석이다. 먼가 쉽게 다른 서비스를 연동해서 특정 사용자의 데이터를 사용할 수 있게 한다고 스스로를 홍보하고 있지만, 사용할 때마다 다시 공부하는 느낌이 들었고, 이걸 더 쉽게 사용할 수 있게 해준다는 SDK들은 코드는 단순한데 내부적으로 어떻게 동작하는지를 모르니까 혼란스럽기는 마찬가지였다.

youtube 라이브 방송을 시작하고 프라이버시에 대한 긴장감이 커졌다. 화면이 방송되고 있는 것은 아닐까? 마이크가 켜져있는 것은 아닐까? 이런 긴장감이 꿈에 반영되곤 했다. 그래서 youtube가 라이브되면 LED 램프가 켜지는 장치를 만들었다. 이걸 하려니 또 oauth를 건드려야 한다.

그래서 원리를 한번 보자고 마음먹고 oauth가 진행되는 과정을 수동으로 하나하나 따라해봤다. 절차가 좀 많기는 하지만 복잡한게 아니었다. 그래서 기쁜 마음에 수업을 만들었다. https://opentutorials.org/course/2473/16571 그런데 막상 수업을 만들어보니 10시간은 넘게 걸린 것 같다. 알게 된 입장에선 쉬운데 모르는 입장에서는 어렵다는 신호다.

오늘 아침엔 oauth를 이해하게 된 효과를 음미해보고 싶었다. 그래서 인스타그램의 api 문서를 봤다. 거짓말처럼 쉬웠다. 이게 그렇게 쉬운 것이었다니.... 아는 만큼 보이는구나 정말..

요즘 꾸준히 생각하는 주제가 있는데 '원리란 무엇일까?'이다. 과학은 원리를 추구하는 것이지만, 공학은 원리를 이용하는 것이다. 그런 점에서 나는 공학에서 원리란 일종의 수단이라고 보는 편이다.

어떤 일은 현상을 이해하는데 필요한 원리가 작다. 그런데 원리에 대한 막연한 두려움 때문에 원리를 알려고 하지 않는다. 그래서 할 때마다 까먹고, 설명을 할수도 없고, 조금만 달라져도 많은 시간을 사용해야 한다.

어떤 일은 현상을 원리를 통해서 이해하는데 거대한 원리가 필요하다. 차라리 이렇게 하면 저렇게 되고, 저렇게 하면 이렇게 된다는 경험을 통해서 사용법을 파악하는 것이 더 현명할수 있다. 실제로 인간은 거의 대부분의 원리를 모르고도 문명이라는 것을 세우고 있지 않은가?

나의 비극은 항상 이런식이다. 원리를 아는 것이 더 쉬운 때에는 마음이 급해서 경험적으로 해결하려고 하고, 경험적으로 해결하는 것이 더 쉬운 때에는 제대로 하겠다며 원리를 파고 있다. 지루하게 반복되는 엇박자다.

그런데 이것은 비극이 아니고 당연한 일이다. 현상은 눈에 보이는 것이지만, 원리는 수면 아래에 있는 미지의 것이기 때문에 현상과 원리의 대소관계를 파악하는 것은 원래 어려운 일이다. 이렇게 생각하니 마음이 편리하다. 엇박자는 그냥 숙명 같은 것이다.

한편, 나는 일을 할 때는 선수고, 일을 알려줄 때는 말하자면 선생이다. 선수로서 원리를 대할 때는 대소관계를 파악하는 직관을 키우고 싶고, 또 한편 선생으로 원리를 대할 때는 대소관계에 대해서 풍부하게 설명해서 배우는 사람이 공부의 진로를 결정하는데 도움을 주고 싶다.

댓글

댓글 본문
작성자
비밀번호
  1. 잘봤습니다!
    어쩌면, 저도 여태 '원리'라는 것에 겁을 들고 뒤로 걸음을 물러서지 않았나 생각이 드네요.
    그렇지만, 정말 그건 작은 벽의 그림자가 해가질 때 큰 그림자로만 보여지는 것이라고 생각됩니다.
    실제로는 그림자는 벽의 높이밖에 안될 텐데 말이죠
  2. 코코딩
    라이브에서도 봤지만,
    정말 멋진 결과물이에요 : )
  3. 폭스킴
    문득 초등학교 때 라디오에 누가(?) 들어있는지 확인해보려고 서랍을 뒤져 드라이버를 꺼내 무작정 라디오를 뜯어봤던 기억이 나네요~ 콘센트에 전기가 꼽혀있는 채로 뜯고 만지다 감전되서 식겁했던 적이 있었더랬죠~ 다행히
    그 시절은 110V였네요~ ㅎㅎ 제 경험은 제가 무지해서 그런 것이지만, 실제로 뭔가 원리는 사람을 주눅들게 만드는 거만하고 도도한 면이 있는 거 같아요. 심지어 좌절하고 포기하게 만들기도 하고요. 그런 면에서 항상 낙심할 때가 많았는데 좋은 선생님을 만나서 사는 게 꽤 즐겁습니다~ 감사합니다~ ^^
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기