주말동안에 간만에 아파치 서적을 처음부터 끝까지 읽어보았다. 물론 예전부
터 관계된 일을 해온터라 이래저래 잡다한 자료들을 많이 보고 그때그때 테스팅도 해보았지만 다시금 책을 보니 지금까지 단편적으로만 알고 있던 지식들을 다시 종합적으로 보게 된다.
요즘에는 전반적으로 경기가 나빠지면서 IT업종의 호황(?)도 그 거품이 어느정도 빠진 듯 하다. 그렇지만 전반적으로 IT에 대하여 많은 사람들이 가지고 있고 과거에 비하여 엄청나게 늘어난 교육기관을 통해 수많은 사람들이 쏟아져나오고 있다. 인터넷의 발전으로 과거에 비하연 기술에 접근할 수 있는 통로가 다양해졌고 마음만 먹으면 자신이 원하는 정보를 얻을 수 있다. 그런데 기술이 대중화된것과 더불어 기본기도 갖추지 못한 수많은 프로그래머, 엔지니어들이 양산디고 있는것은 아닐까 생각을 한다.
예를 들어 시스템관리라고 하는 경우를 들어보자. 레드햇의 경우 웹이나 FTP에서 RPM 파일로 아파치를 받아서 간단히 rpm -Uvh apache 하면 설치가 된다. 설치가 되고나면 여기에서 문서디렉토리정도 수정하고 대몬을 띄우면 웹서버 설치는 끝이다. 그렇지만 이정도로 시스템관리자라고 할 수가 있을까? 몇가지 설정을 바꾸어주고 튜닝이라고 이야기를 할 수 있을까? /proc에서 몇가지 옵션 바꾸어주고 운영체제 튜닝이라고 말을 할 수 있을까?
프로그래밍의 경우 문법은 책을 보고 따라하다보면 쉽게 익힐 수 있다. 그런
데 발전을 하려면 단순하게 문법만 알고 있다고 해서 되는 것은 아니다. 프로
그램을 효율적으로 짜기 위해서 알고리즘도 알고 있어야하고 자료구조에 대해서도 알고 있어야 한다. 체계적인 프로그램 개발을 위해서는 소프트웨어 개발 방법론 등에 대해서도 알고 공부를 해야한다. 시스템관리 분야도 마찬가지이다. 간단한 쉘 스크립트를 만들기 위해서도 최소한의 개발 능력은 필요하다. 서버운영의 밀접한 곳까지 들어가려면 운영체제가 어떻게 동작을 하고 TCP-IP 프로토콜을 이용하여 어떻게 네트워크에서 자료를 주고 받는지 이해를 하고 있어야한다. 보안이라는 분야에서도 가장 많이 발생하는 것중의 하나인 버퍼-오버플로우를 이해하기 위해서는 C 등 프로그램에 대한 지식이 필요하다. TCP SYN Flooding 등의 크래킹 공격을 이해하려면 위에서 말한 TCP-IP에 대하여 알고 있어야 한다. 시스템을 관리하는 경우 스와핑(페이징)이 문제라고 하지만 이를 제대로 이해하려면 커널에서 어떻게 자원을 관리하는지 이해를 하고 있어야 한다. 데이터베이스에서도 인덱스를 만드는 것은 간단하지만 인덱스를 어떠한 원리로 만들고 어떻게 구성하는지에 대해서 이해하는 것은 별개의 이야기이다. 여기에서 더 들어가면 B-Tree 등의 단어들이 튀어나온다. 오라클에서 raw device를 이용하여 성능을 높인다고 하는데 이러한 경우에는 이러한 장치의 특성이 어떠한 것인지에 대해서 먼저 이해를 해야하고 오라클에서 사용하는 공유메모리 영역에 대하여 운영체제 차원에서 이해하고 있어야한다.
물론 처음부터 모든 것을 다 알고나서 할 수 있는 것은 아니다. 그렇다고 기본기를 도외시한채 당장 눈앞에 보이는 작업만 하는것은 어느정도 한계가 있다는 생각이 든다. 그런데 현실은 바로 이렇게 눈앞에 보이는 작업만 하고 있는 것이다. 나또한 tunelinux라는 거창한 도메인을 운영하면서 이러한 현상에 일조를 하고 있는지도 모른다. 기본기는 도외시한채 당장 써먹을 수 있는 기술만을 강요하는 세상에서 어쩌면 당연한 결과가 나온 것일 수도 있다.
나의 전공은 철학이다. 우리 사회에서는 말그대로 돈 안되는 인문사회과학분야이다. 그마저도 제대로 공부하지도 않았고 졸업도 하지 않았지만. 그런데 위에서 말을 한대로 기본기는 도외시한채 당장 실용적인 것만을 요구하는 것은 학문에도 마찬가지이다. 어릴때일수록 더욱 더 많이 배워야할 것이 당장의 실용적인 지식이 아니라 세상을 종합적이고 체계적으로 바라볼 수 있는 시야를 쌓는 것이다. 그렇지만 철학, 문학, 역사 등의 학문은 돈이 안되기에 당장 돈이 될 수 있는 학문으로만 집중이 된다. 과학기술에서도 물리학, 화학, 수학 등이 모든 학문의 기초가 되지만 당장 써먹을 수 있는 기술만 요구를 한다. 어느정도까지는 버틸 수 있다. 그러나 장기적으로 본다면 그 토대는 점점 무너져버리고 오히려 생명을 줄이고 있는 것이 아닐까. IT와 기본기를 이야기하였지만 우리네 삶또한 그 기본기가 적용이 된다는 말이다. 문학과 예술은 당장 사람들에게 어떤 이윤을 던져주지는 못해도 그 사람에게 다양한 상상력과 창의력을 북돋아준다. 어떠한 학문을 하든지 이러한 상상력과 창의력이 더 다양할 수록 그 사람의 고민의 수위도 높아질 수가 있을 것이고 더 좋은 작품이 나올 수 있을 것이다.
IT와 기본기를 이야기하면서 문학과 예술로 그 방향이 전환되는 것이 다른 사람에게는 오버~하는 것으로 보일지도 몰라도 이러한 생각을 하는 것만으로도 한 인문학도는 작은 즐거움을 누리고 스스로를 반성하게 된다.
문태준
http://tunelinux.pe.kr
http://database.sarang.net
|