반응형

분류 전체보기 2946

술을 끊고 난 후의 변화

술을 끊고 난 후의 변화 나는 어려서 술을 배웠고 술 문화를 사랑하는 한 사람이다. 지금도 여전히 술을 마시는 자리를 피하진 않지만 술을 입에 넣지는 않는다. 내가 좀 더 건강하거나 강단에 설 일이 없었다면 계속 술을 마시고 있을지도 모른다. 내가 술을 끊게 된 이유는 간단하다. 30대 중반이 넘어서면서 필름이 끊기는 현상이 발생하고 빈도수가 점진적으로 늘어났다. 그로 인해 학생들과 하는 회식 자리에서 무슨 일이 있었는지 혼자 모르는 경우도 발생하고 치명적인 실수도 하게 되었다. 내가 모르는 나에 대해 남들이 안다는 것은 매우 곤혹스러운 일임에 틀림이 없다. 이것이 내가 술을 끊게 된 결정적 이유이다. 이렇게 술을 끊게 되면서 나와 내 주변에 많은 변화가 생기기 시작했다. 아마도 그간 학생들과 회식이라는..

내가 만드는 사회

내가 만드는 사회 "나는 장문석이다." 이제까지 나는 그냥 나였다. 지금껏 나는 나였고 앞으로도 나는 나일 것이다. 그럼에도 불구하고 지금 나는 "나는 장문석이다."라고 외치고 있다. 이제껏 조용히 자기 삶을 살아왔던 내가 세상을 향해 "나는 장문석이다."라고 외치는 이유가 무엇일까? 2012년 3월 27일 오전 6시 45분에 나는 제자가 facebook에 올린 하나의 메시지를 보게 된다. "코니 2012 (새 창 열기)" 로 자신들의 주장을 세상에 알리고 이러한 외침이 퍼지게 함으로써 영향력 있는 이들로 하여금 자신들의 생각을 전달하고 관철하기 위한 퍼포먼스이다. "코니 2012"를 보고 난 후에 그들의 주장에 공감을 하고 나 또한 주변인들에게 이 메시지를 전달하는 도구가 되었다. 그리고, 내가 살고 ..

사람을 위한 기술

사람을 위한 기술 프로젝트 감수를 하다보면 누구를 위한 기술인지를 물을 때가 있습니다. 학생들은 만들려고 하는 프로젝트 주제를 발굴할 때는 새로운 기술이나 사용할 사람들이 편하거나 즐겁게 하는 주제를 선정하는 것에는 의구심이 없습니다. 하지만 새로운 기술이 나왔을 때 사용 목적에 따라 피해를 보는 이들이 발생할 수도 있기 때문이죠. 제 생각에 사람들에게 피해가 발생할 수 있는 부분이 있다고 생각하면 학생들에게 종종 하는 말이 있습니다. "노벨 평화상이 나오게 된 이유를 아시나요?" 다이너 마이트를 발명한 노벨은 폭약에 관련한 많은 특허를 낸 인물로 지금은 노벨상으로 더 유명합니다. 그는 생전에 다이너 마이트와 많은 발명 특허로 인해 많은 부를 얻습니다. 그리고 이를 이용하여 건설, 토목에서 유용하게 사용..

투표, 권리인가? 의무인가?

투표, 권리인가? 의무인가? 안녕하세요. 언제나 휴일입니다. 2016년 4월 13일이 총선이 있는 것은 모두 알고 계시죠. 요즘 정치를 보면 외면하고 싶은 생각이 나도 모르게 들 때가 있네요. 다시 우리 사회는 우리 스스로 만든다는 생각에 예전에 썼던 글을 다시 한 번 들여다 봅니다. 이 글은 2012년 4월 총선이 가까워졌을 때에 작성했던 글입니다. 나는 강의를 하는 사람이다. 4월 11일 총선일에 진행되는 투표에 대한 나의 생각은 너무도 내 입장만 생각을 했었던 것 같다. 아침에 일어나 투표를 하고 오전에 강의를 하면 학생들도 이후 시간에 투표를 할 수 있을 것이라 생각을 하고 있었다. 하지만 그러한 나의 생각이 잘못된 생각일 수 있다는 것을 인지하게 되었다. 학교가 있는 위치에서 상대적으로 먼 거리..

개인 기술 경영

개인 기술 경영 0. 개요 최근에 들어 개인에 대한 경영에 많은 관심을 갖는 경향이 늘고 있습니다. 이 글은 엔지니어(아니더라도)가 어떻게 개인 기술을 경영해야 할까에 관한 내용입니다. 개인 기술을 경영하는데 있어 제일 중요한 것은 미래의 자신을 예측하고 설계하여 실천하는 것입니다. 그리고 이를 평가하고 다음 계획에 반영하여 지속적인 경영을 할 수 있어야 합니다. 1. 미래의 자신을 예측 미래의 자신을 예측하기 위해서 선행해야 하는 것은 현재의 자신과 주변 상황에 대한 분석입니다. 먼저 자신이 남들에 비해 강점(Strength)이 될 수 있는 것과 약점(Weakness)이 될 수 있는 것을 추출하세요. 그리고 주변 상황에서 기회(Opportunity)가 되는 요소와 위기(Threat)가 되는 요소를 파악..

2.2 그리기 예 [Windows API]

2.2 그리기 예이번에는 간단한 그리기 예제를 통해 Windows API를 이용하여 어떤 절차를 거치는지 살펴고기로 합시다. [그림 2] 그리기 작업 수행 흐름 앞에서 소개했듯이 Windows API의 그리기 기본 흐름은 [그림 2]와 같습니다. Windows API를 처음 학습할 때 새로운 형식 명과 긴 함수 이름과 생소한 흐름과 절차들 때문에 어떻게 이해하면서 다음으로 넘어가야 하는지 걱정하는 것이 대부분입니다. 지금에 와서 Windows API를 학습하는 이유는 윈도우즈 프로그램이 어떠한 원리로 동작하는지 이해하기 위한 부분이 실제 프로그래밍에 사용하기 위한 것보다 많다고 볼 수 있습니다. 이미 MFC나 Windosw Form, WPF 등의 보다 강력하고 개발 비용이 적게 드는 기술들이 많기 때문에..

2.1 WM_PAINT 메시지 [Windows API]

2.1 WM_PAINT 메시지윈도우에 다른 윈도우에 의해 가려졌다가 보여지거나 최소화 후에 최대화를 하는 등의 작업을 수행하면 다시 그려주어야 하는 영역이 생깁니다. 윈도우즈 운영체제에서는 다른 창에 의해 가려지는 영역을 클리핑 영역으로 기억해 두었다가 해당 영역이 다시 보여지면 그 부분을 포함하는 최소한의 사각 영역을 무효화 영역이 발생한 것으로 처리합니다. 이 때 발생하는 윈도우 메시지가 WM_PAINT입니다.그런데 윈도우즈 프로그램에서 무효화 영역이 생긴다고 바로 WM_PAINT 메시지를 발생하여 처리하는 것은 아닙니다. 일반적으로 윈도우즈 프로그램에서 그리기 작업은 다른 작업들보다 처리 우선순위가 낮습니다. 따라서 응용 메시지 큐에 처리할 윈도우 메시지가 없고 무효화 영역이 있을 때 WM_PAIN..

2. 기본 그리기 [Windows API]

2. 기본 그리기Windows API에서 그리기는 DC(Device Context)를 이용합니다. DC란 출력에 필요한 여러 정보를 가지고 있는 구조체로 라인이나 경계를 그릴 때 사용하는 펜, 면을 채울 때 사용하는 브러쉬 등의 정보를 갖고 있습니다. DC를 사용하지 않고 그리기를 한다고 가정하면 선을 그리기 위해 두 점의 좌표 뿐만 아니라 선의 형태, 선의 두께, 선의 색상 정보들을 인자로 전달해야 합니다. 사각형을 그리기 위해서는 좌표 뿐만 아니라 경계 선의 형태, 선의 두께, 선의 색상 정보, 면을 채울 색상, 패턴 등의 인자가 필요하겠죠. 이처럼 그리기를 위해 전달해야 하는 인자를 단순화하기 위해 Windows API에서는 DC를 사용하고 있습니다. Windows API에서는 그리기 위해 DC를 ..

[C#] 퍼사드 패턴(Facade Pattern)

10. 퍼사드 패턴(Facade Pattern) 프로그래밍하다 보면 여러 종류의 라이브러리를 사용해야 하는 경우가 발생합니다. 그리고 실제 각 라이브러리에 있는 모든 기능을 사용할 필요가 없는 경우가 많지요. 이럴 때 상위 수준의 라이브러리를 만들어서 사용하기 쉽게 제공할 수 있습니다. 이처럼 상위 수준에서 인터페이스를 정의하여 하위 수준의 서브 시스템의 기능을 사용할 수 있게 하고자 할 때 퍼사드 패턴을 사용하면 효과적입니다. 퍼사드 패턴에서는 하위 수준의 여러 서브 시스템에서 제공되는 기능들을 상위 수준에서 단순화시켜 사용하기 쉽게 해 줍니다. 또한, 이를 통해 여러 서브 시스템과의 복잡한 관계를 느슨하게 만들어 주어 하위 시스템과 독립성을 갖게 해 줍니다. 2016/04/26 - [프로그래밍 기술/..

[C#] 장식자 패턴(Decorator Pattern)

9. 장식자 패턴(Decorator Pattern) 프로그래밍하다 보면 너무 다양한 형태로 기능을 확장해야 할 경우가 발생합니다. 예를 들면 여러 종류의 단위 기능이 있고 이들을 조합해서 사용할 경우입니다. 사진에 원 장식을 하고 여기에 사각형 장식을 하고 여기에 삼각형 장식을 하는 등의 작업을 반복할 수 있는 경우처럼 말이죠. 이 같은 경우에 단위 기능들에 대한 조합된 기능을 수행할 수 있는 개체 형식들을 정의하기 위해서는 무수히 많은 수의 파생 클래스를 정의해야 합니다. 이때 장식자 패턴을 사용하면 장식자 개체에서 필요한 단위 기능을 하는 형식 개체를 포함을 시키는 것으로 이를 해결할 수 있습니다. 이 같은 경우에 장식자 패턴은 단위 기능을 수행하는 형식과 장식자 형식을 정의하고 일반화하여 기반 클래..

반응형