블로그 이미지
레인레테
연락처 : rainlethe@rainlethe.com 영혼을 잃어버리다.

calendar

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

'역사'에 해당되는 글 2

  1. 2012/01/09 개발 프레임워크에 대한 아주 쉬운 이야기.(1)
  2. 2009/06/02 지식 권하는 사회..슬프다.
2012/01/09 12:34 RL.P rogramming
1. 맨땅에 개발하던 시대.
아주아주아주아주 먼 옛날. 
소형 컴퓨터라는 것이 방 하나를 꽉 채울 만큼 큼직했던 시절.
디버깅이라는 것이 실제로 진공관 사이에 끼어 죽어있는 벌레를 처리하는 것이었던 때에 모든 개발자들은 컴퓨터 작동에 필요한 모든 논리를 처음부터 만들어내야 했어요. 

자동차를 만들 때마다 고무를 녹여 타이어를 만들고, 철을 녹여서 엔진을 만드는 격이었죠.


2. 라이브러리가 등장하다.
그러다가 누군가가 이런 생각을 했어요. 
그럼 미리 고무를 잔뜩 녹여서 타이어를 만들어놓으면, 자동차를 조립하기 편하겠네?
그래서 많은 개발자들은 일일이 고무를 녹이는 대신 타이어를 파는 가게에서 바퀴를 사다가 끼기만 하면 되었어요. 
자동차를 만드는 시간은  획기적으로 단축되었고, 모든 개발자들은 이것이 마법이라고 생각했어요. 

이런 타이어 같은 것을 '라이브러리' 라고 해요. 미리 만들어진 부품을 가져다가 쓰는거죠.


3. 프레임워크의 시대가 도래하다.
이렇게 타이어를 팔던 가게가 번성하던 어느 날, 새로운 자동차가 필요해진 A씨는  이런 생각을 했어요. 
'내가 왜 자동차를 만드는데 이 모든 부품을 다 알아야 하는 걸까? 그냥 조립이 다 되어 있으면 안되는걸까?'
그래서 A씨는 엔진, 타이어, 핸들 등이 다 붙어있는 자동차를 만들어 팔기로 했어요. 
이 자동차를 구매하는 사람들은 '색깔' 이나 '선루프'  등의 옵션만 선택하면 되게 된 거죠. 

이렇게 '자동차'를 만들기 위한 '꼭 필요한 부품들이 미리 조립되어 있는 것' 을 프레임워크라고 합니다.

이런 식으로 컴퓨터 프로그래밍은 발전되어 왔답니다.

더이상 사람들은 자동차에 대해서 정확히 어떤 구조로 굴러가는지 알 필요 없이 엑셀레이터를 밟으면 굴러가고 브레이크를 밟으면 멈추며, 핸들을 돌리면 방향이 바뀐다는 것만 알면 되는거죠.

참 아름다운 세상이에요.


4. 문제가 생겼을 때는 어떻게 하지?
끝!
.. 이라고 하면 참 아릅답고 행복했을 때지만, 현실은 그렇지 않아요. 
여느날처럼 자동차로 출근을 하던 B씨는 갑자기 달리던 자동차가 덜컥 멈추는 황당한 사태를 맞이하게 되었어요.
자동차에 대한 지식이라고는 운전하는 법과 라디오 켜는 법밖에 모르던 B씨에게 이건 낭패였죠.

그래서 B씨는 '인터넷'이라는 이름의 친구에게 다급하게 전화를 합니다. 
'인터넷'은 자기가 알고 있는 지식을 총 동원해서 B씨를 도와주려고 하지만
B씨는 도대체 왜 자동차가 멈추었는지 알 길이 없었기 때문에 설명하기가 너무 어려웠어요.

결국 B씨는 '인터넷'에게  '고렙 개발자' 라고 하는 이름의 자동차 수리가게를 소개받았죠.


5.  결국 구조를 다 알아야 하네?! 
'자동차 수리가게' 에서는 B씨에게 '엔진오일도 없고 미션 상태도 좋지 않네요.' 라고 말을 해 줬어요.
그렇지만 B씨는 자동차 안에 왜 엔진오일이 필요한 건지, 미션이라는건 도대체 무엇인지 알 수가 없었어요.
그냥 '고쳐주세요' 라고 말하는 수밖에 없었죠.

그리고 생각했어요. 
'아. 정상적인 상태일때는 미리 조립되어 있는 것이 참 편리하지만, 문제가 생기면 결국 기본 구조를 다 알아야 하는구나.'


6. 제조사에서는 어떻게?
이런 상황을 자동차 제조 회사에서도 모를리가 없죠. 
그래서 자동차 회사에서는 '최신 자동차 조립기술'에 맞는 '최신 전자제어장치'를 집어넣기로 했어요.
엔진오일이 없으면 계기판에서 경고등이 나오는 장치에요. 
이제 더이상 B씨는 엔진오일이 없어서 자동차가 달리다가 멈추는 일은 없을 꺼에요! 

.. 물론 여전히 미션의 상태는 확인할 수 없겠지만요. 

또 시대가 바뀌면서 자동차가 그냥 운송수단에서 레져로 바뀐다는것을 자동차 회사는 간파했어요.
그래서 자동차의 시트를 푹신하게 바꾸고, 크루즈 기능을 넣어서 자동 운전이 가능하게 만들었죠. 
즉, 이 회사는 '자동차'라는 프레임워크와 그걸 만드는 기본 재료인 '시트'를 통채로 다 맞춰서 바꾸는 거에요. 

이런걸 제일 잘하는 회사 이름은 마이크로소프트에요.

웹 여행을 할 때 쓰는 자동차 "ASP.NET" 을 시대에 맞춰서 "ASP.NET MVC 나 ASP.NET AJAX" 로 변신시키고, 
데스크탑에 코어가 여러개 달린 컴퓨터 시대가 도래하자 "패러럴" 기능을 아얘 언어에 통합시켜 버렸답니다. 

덕분에 운전자들은 '크루즈' 기능을 어떻게 쓰는건지 배워야 했지만
대신 일정한 속도로 달릴 특정 상황에는 엑셀레이터를 안밟아도 되는 편안함을 얻게 된 거에요. 


7. 튜닝 한번 해볼까?

멋쟁이 C씨는 자신의 자동차가 다른 자동차들과 똑같아 보이는게 싫었어요. 
그래서 자동차 문이 옆으로 열리는 대신 위로 열리게 개조를 한 거에요.

그런데 자동차 문을 바꿔놓고 보니 멋지기는 한데, 자동차가 달릴때 자꾸 바람소리가 들려와요.
알고보니 자동차회사가 이 자동차를 설계할 때 초정밀 계산기로 계산해 둔 자동차가 달릴때  외부 바람에 대한 마찰역학계수를 C씨는 몰랐기 때문이었어요. 

결국 C씨는 위로 열리는 문을 뜯어내고 다시 옆으로 열리게 개조하는 수밖에 없었습니다. 

이렇게 프레임워크는 '구조상 하위호환성을 유지하면서 업그레이드하는 것'은 멋쟁이 C씨가 할 수 있는 일이 아니었네요. 자동차 회사만 가능하군요. 


8. 낡았어. 바꿔야겠어. 
오랫동안 차를 잘 타고 다니던 'D' 씨는 이 차가 시대의 흐름에 맞지 않는다고 느꼈어요. 
주위 친구들은 다들 최신 기종인 'Ruby on rails" 를 타고 다니는데 자신만 'Structs' 를 타고 다니는건 촌스러워 보였거든요. 
그래서 이 차가 자신에게 맞나 한번 타보기로 했어요.
아니 그런데 이게 뭐에요.
핸들은 오른쪽에 있는 데다가 기어가 핸들 옆에 붙어있고, 심지어는 크루즈 모드도 없어요. 게다가 더욱 더 이해할 수 없게  여기는 뭐에 쓰는지 모를 '에어 브레이크'라는 기능도 있다는 거에요. 
D씨는 도대체 이걸 어떻게 운전하는지조차 알 수 없어서 친구들에게 물어봤지만, 친구들은 '우왕 이게 킹왕짱 익숙해지면 완전 편해' 라고만 할 뿐이었어요.
물론 몇몇 친구들은 적극적으로 나서서 'Ruby on Rails' 에 익숙해지는데 도움을 줬지만, 이미 'Structs'에 익숙해신 D씨는 도저히 이해할 수가 없는 것들 투성이었죠.
결국 D씨는  '옛것이 좋은 것이여' 라는 말을 남긴 채   'RoR'을 사용하는 것을 포기했답니다.

이렇게 프레임워크는 한번 익숙해지면, 다른걸로 갈아타기가 너무 힘든 경우가 많아요. 각 프레임워크는 각 프레임워크를 관통하는 철학이 있거든요. 




조금은 프레임워크에 대해서 이해가 가시나요? 


2012.01.09. By RL.P
저작자 표시 비영리 동일 조건 변경 허락
posted by 레인레테
2009/06/02 09:05 RL.T hink.

1. 지식의 정의.

지식(知識)은 교육, 학습, 숙련 등을 통해 사람이 재활용할 수 있는 정보와 기술등을 포괄하는 의미이다. 이외에도 많은 의미를 내포하는 광범위한 용어이다. 최근에는 한 사람뿐아니라 집단의 사람이 재활용할 수 있는 정보와 기술도 지식이라고 부른다.

출처: 위키피디아

2. 지혜의 정의

사물의 이치를 빨리 깨닫고 사물을 정확하게 처리하는 정신적 능력.

출처 :  다음 국어사전

네이버 백과사전 에 보면,

지식과 지혜는 서로 상반된 것이 아니라

지식을 기반으로 지혜가 쌓인다고 설명하고 있다.

[[ 네이버 백과사전은 무단전제 및 재배포를 금지 하고 있으므로,

퍼오지는 못한다. 따라서 요약정리함. ]]


3. 스스로 생각하는 법

전의 글. 키보드 워리어에 대한 단상에서도 적었듯이, 키보드 워리어는 스스로 생각하지 못한다.

그냥 누군가의 의견을 복사 붙여넣기해서 널리 퍼뜨리고 있을 뿐이다.

그럼 무조건 키보드 워리어를 욕하기 전에, 왜 그들이 그렇게 행동할수밖에 없는가에 대해 생각해보자.


어렸을때 우리는 어떤식으로 교육받았는지 혹시 기억하는가?


그렇다. 우리는 '외우도록' 교육받았다.

예를 들어서,

'수학'을 생각해보자.

'수학'은 '추상성'을 다루는 학문이다.

즉 '문제를 어떻게 해결하는가에 대해서 기록해 둔 결과물' 같은 것이다.

그런데 우리가 어떤식으로 수학을 접근했는지 기억하는가?

230여가지의 패턴만 외워라! 수능은 만점이다! 이런 식이다.

이 패턴이 어째서 그런 공식을 도출해 냈는지에 대해서

가르치는 수험서는 그다지 본 적이 없다.


또다른 예를 들어서 '역사(국사, 세계사..)' 에 대해서 생각해보자.

어떤 생각이 떠오르는가.

졸업한지 별로 안됐다면 문득 이런 생각이 떠오를지도 모른다.

'암.기.과.목.'

역사라는건, 사람이 살아온 지난 시간을 되돌아보는 거다.

사람의 생각, 행동, 그리고 결과에는 언제나 인과관계가 성립하기 마련이고,

이러한 관계를 파악하고 나면

더이상 우리는 1894년에 일어난 동학농민운동이 

죽은 지식이 아니라는걸 알게 된다.


공부라는 것은 학문이나 기술을 배우고 익혀 내것으로 만드는 것이다.

이  말은 '수능에 만점받기 위해' 혹은 '외우라고 하니까' 공부하는 것이 아니라

'자기자신의 발전'을 위해서 노력한다는 뜻이다. 

'내것'으로 만들기 위해서는 '타인의 생각을 빌려오는' 것 뿐만 아니라

'그걸 발전시켜서 스스로 논리를 세울 수 있는 것' 까지 나아가야 한다.

여기까지 못 온 사람들이 '좁은 의미로 키보드 워리어' '넓은 의미로 찌질이'가 된다.

즉, '누군가에게 (자의든 타의든) 주입당한 지식'을 가지고 있으나

'그것을 발전시켜 자기자신의 것으로 만들지 못하는 사람'을 통칭한다.

만약 여기까지 읽고나서 '역시 교육이 문제야..'라고 생각한다면, 당신은 '땡'이다.


4. 스스로 생각하기.

변증법
[辨證法]

[명사] [철학]
1 문답에 의해 진리에 도달하는 방법. 어원은 대화의 기술이라는 뜻이다.
2 헤겔 철학에서, 동일률을 근본 원리로 하는 형식 논리와 달리 모순 또는 대립을 근본 원리로 하여 사물의 운동을 설명하려는 논리. 인식이나 사물은 정(正)·반(反)·합(合) 삼 단계를 거쳐 전개된다고 한다.
3 마르크스주의에서, 자연·사회 및 사유의 일반적인 운동 법칙·발전 법칙에 관한 과학.

출처 : 다음 국어사전

이건 헤겔의 변증법에 대한 설명이다.

이 정의가 약간 어렵다면 이렇게 생각해보자.

하나의 의견이 존재한다 (정)
정에 반대하는 의견이 나온다 (반)
정과 반을 합쳐서 우수한 것만 취하는 의견이 나온다 (합)
합이 정이 된다. [[정]]
다시 합에 반대하는 반대의견이 나온다(반)
... 무한 반복.

나는 개인적으로 이 이론을 고등학교 철학 시간에 들었는데,

솔직히 긍정적 쇼크였다. 

그리고 이걸 내 사고방식의 근간으로 삼고 있다.

내가 무슨 소리를 들어도 다시한번 곱씹는 것은 이런 이유 때문이다. 

더 발전시킬 수 있을까.. 라고.


5. 기본은 무엇인가.

가끔 같은 업계 종사자를 만날 일도 종종 있고,

같은 일을 하는 친구들도 있다.

말할때마다 깜짝깜짝 놀랄만한 것들도 종종 있는데

그중 하나는 '기초가 지나치게 부실하구나' 라는 느낌이 있는 사람들도 있다.

꽤나 경력이 오래된 사람들도 간혹은...


경험이라는 것은 무엇과도 바꿀 수 없는 자산이다.

그런데 일정 수준 이상 경험이 쌓이고 나면 ,

더이상 자기자신이 발전할 수 없는 순간에 직면하게 된다.

이건 단순한 외부 요인으로 인한 슬럼프일수도 있지만

'이 문제는 내 경험으로는 풀기 힘들어'라는 문제가 나오게 되면 

다시한번 생각해 봐야 한다.

내가 뭔가 기본을 놓치고 있는 것이 아닌가...라고.


아래는 IT 종사자들만 볼 것.

IT 종사자들만 보기



6. 실천.

길게 쓰기 귀찮으니

예전예전에 내가 썼던 글 논술. 잘하고 싶습니까? 를 읽어봐 주시면 감사하겠다.

저 글은 사실 '논술'에 대한 글이 아니라

'중고등학생들에게 사고하는 법'을 가르쳐주고 싶었던 글이기 때문이다.

물론 뭐 그때나 지금이나 엄청난 글빨은 아니라서

가뜩이나 글읽기 싫어하는 학생들에게 분량으로 압도한 나머지

아무도 끝까지 안읽었다는 전설은 남아있다.

그래도 자신있으시면 도전해 보시길 .ㅎㅎ


7. 혹시나해서.

이쯤되면 이런식으로 반문하는 사람들이 종종 있다.

'그럼 지식은 쓸모없다는 말인가?'

천만에.

지식은 지혜의 기반이 된다.

그리고 지혜는 다른 지식을 볼 수 있는 혜안을 기른다.

이것 또한 상호보완관계. 어떻게 보면 변증법의 변칙론적 적용.

8. 왜 지식 권하는 사회가 됐을까?

단순한 교육의 문제가 아니다.

가장 큰 문제는 사람들이

'스스로 생각하기 싫어하고, 스스로 생각하지 않아도 살아갈 수 있는 사회'

에 살고 있다는 것이다.

어째서?


자. 정말 스스로 한번 생각해 보기 바란다.


왜 지식 권하는 사회가 됐을까?

어째서 지혜를 권하는 사회가 되지 못할까?



이유보기


난, 진심으로.  나자신의 발전을 포함해서

전국민이 스스로 생각해서 모두 함께 발전했으면 좋겠다.

조선-중앙-동아-프레시안-노컷- 등의 언론매체나

일부 영향력 있는 블로거들.

혹은 주위 사람들. 감정의 속삭임 등에서 주워들은 말을

그냥 앵무새처럼 되풀이하지만 말고.....


덧 하나. 다써놓고 나니 나도 어떤 면에서는 키보드 워리어.(최소한 안그러고싶어 노력중)

덧  둘. 네이버와는 다르게 다음은 대인배이니 국어사전 퍼왔다고 뭐라하진 않겠지. 

덧 셋. 이 글에서는 '지식'의 의미를 일부러 지혜와 비교하여 격하하였으나, 본 의미는 다르다.


2009.06.02. by RL.T

저작자 표시 비영리 동일 조건 변경 허락
posted by 레인레테
prev 1 next