array = [5,7,9,0,3,1,6,2,4,8]
def quick(array):
if(len(array) <= 1):
return array
pivot = array[0]
tail = array[1:]
left_side = [x for x in tail if x <= pivot] # 분할된 왼쪽 부분
right_side = [x for x in tail if x > pivot] # 분할된 오른쪽 부분
#print(pivot)
#print(left_side)
#print(right_side)
# 분할 이후 왼쪽 부분과 오른쪽 부분에서 각각 정렬을 수행하고, 전체 리스트를 반환
return quick(left_side) + [pivot] + quick(right_side)
print(quick(array))
군주론에서 앞의 내용들은 현실과 맞지 않는 내용이라 판단했다. 식민지를 건설하거나 군대를 파견하는 등의 내용이기 때문에 우리 시대에서는 이미 겪고 지나온 내용이기 때문이다. 하지만 군주는 항상 군무에 관심을 갖아야 하고, 평화시에 더욱 갖고 있어야 한다는 내용은 과거나 현재나 적용될 수 있고, 미래에도 물론 좋은 군주라면 갖춰야할 덕목이라고 생각한다. 영원한 아군도 영원한 적군도 없는 것이 현실이기 때문에 어떤 상황에서도 대비태세를 갖춰야 하는 것이 앞으로의 국민을 지키기 위함이기 때문이다.
제 16장 관후함과 인색함
성군이라 하면 항상 관후함을 먼저 떠올렸다. 사람들에게 하여금 존경심을 줄 수 있기 때문이다. 하지만 관후함을 얻기 위해서 무거운 세금을 부과하고 인민들을 수탈하지 않을 수 없기 때문에 관후함을 얻는 것은 군주의 자질이 아니다. 현재 인색함을 지속해서 갖추면 당장은 인색하다며 비난받을 수 있지만 추후 전쟁이나 비상상황에서 그 인색함이 결국 사람들로 하여금 안정감을 줄 수 있었고, 결국 좋은 평판을 나을 수 있기 때문이다. 관후하고 넉넉하다는 군주는 모두 일찍이 망했다. 이에 현재 부동산 정책으로 많은 국민들이 인색한 평가를 내리고 부정적이지만 결국 이것이 추후에는 좋은 방향일 것이라는 생각이 들었다. 현재 관후함을 보여주기 위해 집값을 올라가는 것을 놔두고 양도소득세 및 종합부동산세를 강화하지 않았다면 서민들의 생활은 점점 나락으로 갈 수 있기 때문이다.
17장 잔인함과 인자함
인간이란 본질이 은혜를 모르고 변덕스러우며 위선적인데다 기만에 능하며 위험을 피하려고 하고 이익에 눈이 어둡다.
이에 두려움을 주는 군주가 더 안정적으로 국가 운영을 할 수 있다.
18장 약속
군주는 사자와 여우를 닮아야 한다. 언제든 여우처럼 함정을 잘 파악해야 하고, 때로 늑대를 물리치기 위해 사자가 되어야 한다. 약속이란 명분을 내세워 언제든지 바꿀 수 있어야 하는 것이 훌륭한 군주이다.
마지막으로 23장 아첨꾼을 어떻게 피할 것인가가 인상적이었다. 항상 이전에도 아첨꾼을 옆에 두면 앞길이 막히고 힘들어 진다는 것을 염두에 두고 있었다. 하지만 그 방법에 대해서 생각해 본적이 없는 것 같았다. 그 방법을 이렇게 이야기 한다. 사려 깊은 사람들을 선임하여 그들에게만 솔직하게 말할 수 있도록 허용하되, 그것도 군주가 허용할 때만 가능해야 한다. 그래서 확고한 결정 방안에 대해서 동요해서는 안되고, 자신의 아첨을 보호하는 방법은 진실에 대한 직언을 한 자에게 화를 내지 않는 것이다. 화를 낸다면 그 직언한 자는 입을 다물기 때문이다. 또, 입을 다물고 있는 자를 발견한다면 화를 내도 좋다. 이러한 방법으로 앞으로 내 주변의 아첨꾼을 구별하고 아첨하는 사람이 아닌 진정성있고 사려 깊은 사람들과 함께하고 싶다.
평균의 종말을 읽고 나 역시 ‘평균’이라는 고정관념에 빠져있는 사람이란 것을 느꼈다. 또, 시야가 한 단계 넓어진 느낌을 받았다. 왜냐하면 항상 시스템 관점에서 개개인이 시스템에 맞춰야 한다고 생각했기 때문이다. 개개인이 다른 방법으로 문제에 접근할 수 있다는 것을 인정하지 않고 그것을 표준화시켰고, 이러한 방식이 일을 잘한다고 생각했다. 하지만 그것이 오히려 개개인의 특성을 망가트릴 수 있다는 것을 책을 통해 알았다. 한 가지 방식으로만 접근한다는 것은 문제 해결의 다양성을 망가트리고 개개인의 특성을 살릴 수 없다.
이런 관점에서 회사에서 도입한 시험은 정말 개개인의 장점을 발휘하도록 할 수 없는 방법이다. 이런 방법으로는 다양한 재능에 따라 개개인의 성과를 평가할 수 없다. 오히려 현장에서 특수한 분야에 재능을 발휘하는 인재도 표준화된 시험이 더 중요하다고 판단하게 만든다. 이런 문화에서는 혁신이 일어날 수 없다. 회사에서 정한 표준화된 교육으로 성장했기 때문이다. 이런 문화에서는 한 방향만을 생각하고, 모두가 경쟁을 한다고 생각하기 때문에 진정한 팀워크를 발휘하기 힘들다.
따라서 항상 문제 해결 방안을 위한 아이디어를 고안하거나 새로운 프로젝트를 발굴할 때 개개인의 특성을 맞춤화할 수 있는 방안을 생각해보려고 한다. 프로젝트를 도출하기 위해서 항상 하는 일이 고객 역량을 평가해 평균을 도출하는 일이다. 이때 논리는 항상 같다. 고객 평균 수준이 이러하기 때문에 이러한 기능이 필요하다. 이러한 논리에서는 고객맞춤형 기술을 도출할 수 없다. 개개인의 다양성이 무시되기 때문이다. 고객 맞춤형 플랫폼이나 기술을 창출하기 위해서 고정관념에서 벗어나 각 개인의 니즈와 효율을 함께 높일 수 있는 방법을 생각해야겠다.
Autocad ObjectARX을 활용해서 사용자 맞춤형 자동화 프로그램을 구현할 수 있다. 예를 들어, 내가 잘 사용하는 형상을 Block화해서 명령어만 치면 그 형상을 불러올 수 있다. 또, 비슷한 형상을 파라메트릭 매개변수와 치수구속/형상구속을 활용하여 Key값만 입력받아 형상을 구현하는 자동화 프로그램을 구성할 수 있다. 이러한 프로그램을 구현하기 위한 환경설정을 설명하려고 한다.
1. Visual Studio Professional
이를 구현하기 위해 Visual Studio를 활용해야 한다. 따라서 아래 링크를 통해 Visual Studio Pro를 설치하기 바란다.
Autocad 에서 동작되는 프로그램은 기본적으로 .dll파일이다. 하지만 Autocad 에서 같은 파일을 .arx로 인식하고, 이를 Load해서 쓰는 방식을 택한다. 이에 따라 Visual Studio C++개발환경을 통해 .arx(=dll)을 만들어줘야하며, 이를 위해 Visual Studio 환경 설정을 해야 한다. 프로그램 구현에 이러한환경설정이 핵심이며, 다음화에서 포스트하도록 하겠다.