프로그래밍과의 만남

다크소개 2013. 1. 28. 01:27

제가 컴퓨터를 처음 접한 것은 20살 때로 요즘에 비하면 상당히 늦은 편입니다. 요즘에야 원시인 취급 당하겠지만 당시에는 저같은 사람이 꽤 있었습니다 ^^. 우연히 친구가 컴퓨터에 플로피 디스켓을 넣고 타다닥 자판을 두드리는 것을 보고는 '이게 머야, 이런게 있었어?' 하며 멍~ 했던 기억이 아직도 생생합니다.


컴퓨터를 처음 접한 느낌이 신기함이었다면 그 안에서 실행되는 소프트웨어들이 누군가가 만든 것이며 나도 만들 수 있다는 것을 깨달은 것은 하나의 충격이었습니다. 어느날 선배 집에 놀러갔는데 아는 사람이 짠 거라며 제게 콘솔 형태로 구현된 지뢰찾기 게임을 보여주었습니다. 그 때 컴퓨터 안에서 돌아가는 프로그램도 사람이 짠 것이라는 것을 처음 깨달았습니다. 생각해보면 당연한 건데 바보라고 할지 모르겠지만 어쨌든 그 전까지는 어디 하늘에서 주어져 있는 것인줄로만 알았습니다. 아니 좀더 정확하게는 그런 생각 자체를 한 적이 없다는 것이 맞겠습니다. 당시 아는 사람이 짰다는 그 프로그램을 바라보면서 그저 '... 대단하다' 하며 내심 감탄만 했던 것 같습니다.


그 뒤로 서점에 가서 당시에 유행하던 Turbo C 책을 하나 사서는 C 프로그래밍을 독학하기 시작했습니다. 나도 게임을 하나 만들어 봐야겠다 생각하면서 당시 유행하던 테트리스라는 게임을 구현하는 것을 목표로 프로그래밍을 공부해 나갔습니다.


당시 책에 나와있는 예제 프로그램들을 일일히 타이핑해서 실행시켜보면서 책을 처음부터 끝까지 한번 정독을 했던 것 같습니다. 그런데, 프로그래밍 책을 한 권을 보긴 했는데 막상 스스로 프로그램을 짜려고 해 보니 처음에는 막막하기 그지없었습니다. 도대체 어디에서 어떻게 시작해야 하는지.. 그래도 마음을 다잡고 먼저 2~3일간 전체적인 프로그램 구조 및 알고리즘을 설계한 후, 이후에는 계속 C 책을 뒤적여가면서 어찌어찌 총 10일에 걸쳐서 두문불출하며 테트리스 프로그램을 완성하였습니다. 


당시 구현한 테트리스 게임은 나름 화려한 그래픽 처리와, 시간 경과에 따른 블럭들의 실시간 움직임 처리, 키보드를 통한 비동기적 사용자 입력 처리, 블록들의 회전, 이동 및 상호간섭 처리, 전체적인 게임 시스템의 상태 관리, 점수 계산 및 기록갱신을 위한 파일 입출력 처리 등 전반적인 프로그래밍 요소가 모두 포함되어 있다고 볼 수 있습니다. 사실 테트리스는 프로그래밍에 대해 아무런 감도 없는 초보가 책 한권 읽고 무작정 구현하기는 무리가 있다고 볼 수 있습니다. 하지만 꼭 테트리스는 아니더라도 어느 정도 규모가 있는 프로그램을 스스로 설계하고 완성해 보는 것은 좋은 경험이 될 것 같습니다. 제 경우에는 테트리스를 구현하고 나서 전반적인 프로그램에 대한 감 및 프로그래밍에 대한 틀이 잡혔다고 볼 수 있습니다. 그 이후로는 프로그램을 짜는 것이 그리 막막하지 않았고 어떤 프로그램도 짤 수 있겠다는 자신감이 생겼던 것 같습니다.


당시 구현했던 테트리스 게임은 지금은 어디로 갔는지 찾을 수 없네요.

상당히 아쉽습니다...


☞ 최근 아이들을 위해 테트리스를 새로 구현했습니다: [개발한 것들] - 테트리스 (Tetris)



by 다크 프로그래머

'다크소개' 카테고리의 다른 글

다크의 자유게시판  (225) 2013.04.25
프로필  (34) 2013.01.28
블로그 개설 목적 및 참고 사항  (38) 2013.01.28

프로필

다크소개 2013. 1. 28. 01:25

프로그래밍 능력

주로 Visual C++ (MFC)을 이용한 윈도우 프로그래밍에 익숙한 편이지만 프로그래밍 언어에 크게 구애받지는 않습니다. 프로그래밍 언어 자체는 일종의 도구이며, 도구를 잘 사용할 수 있다고 해서 반드시 좋은 프로그램을 짤 수 있는 건 아닙니다. 오히려 자료구조, 알고리즘, 소프트웨어 공학 등과 같은 기본 배경지식, 해당 분야에 대한 경험 및 전문지식, 그리고 전반적인 시스템 설계능력과 이를 효율적으로 구현할 수 있는 능력이 더 중요하다고 생각합니다.

 

문제 해결 능력

제가 보유한 가장 핵심적인 능력은 아마도 과학적 문제해결 능력일 것입니다. 이는 어떤 과학적인 문제 혹은 미션이 주어졌을 때 문제의 핵심을 파악하고 다양한 상황을 고려하여 효율적인 해결책을 찾아내고 이를 구현해 내는 능력을 말합니다. 일종의 연구개발 능력으로 볼 수 있으며 논리적 사고 능력이 중요합니다.

 

수학적 능력

소싯적부터 수학을 좋아하고 수학문제 푸는걸 즐겨했습니다. 학창시절 고교 수학경시대회에서 도대회 금상, 전국대회 입상을 한 적이 있습니다. 이러한 수학적 배경은 어떤 문제에 대한 심도깊은 이해 및 해결책을 찾는데 많은 도움이 됩니다. 수학은 수의 학문이며 과학입니다. 수학을 공식 암기가 아닌 이해의 대상으로 접근하면 좀더 수학을 즐길 수 있습니다. 수학에 대한 이야기는 기회가 되는데로 틈틈히 포스팅을 할까 합니다.

 

관심분야 및 보유기술

주로 영상처리 및 영상인식에 대한 개발경험 및 관련 기술을 보유하고 있습니다. 영상처리 기술은 다양한 응용 및 가능성을 가지고 있지만 아직은 뛰어넘을 수 없는 벽이 있습니다. 어떤 교수님께서는 컴퓨터 비전에 대한 지엽적인 연구를 하기 보다는 이러한 벽을 넘기 위한 새로운 방법론 또는 패러다임에 대한 연구를 해 보는게 어떻겠냐는 조언을 주신 적이 있습니다. 어쨌든 이 벽을 뛰어넘을 기술이 나오면 새로운 세계가 열릴 것으로 기대됩니다. 영상처리 외에 파라미터 추정, 인공지능 등에 관심 및 배경지식을 보유하고 있습니다.

 

경력 및 경험

성공회대 전산학 강의 (C/C++)

숙명여대 전산학 강의 (C/C++)

숭실대 인공지능 강의

비트컴퓨터 C++ 강의

ICU부설 정보통신교육원 Java 강의


개인 신상 정보

이제 조금 있으면 50대에 접어듭니다. 직장에 다니고 있고 직업이나 직장에 큰 불만은 없습니다. 돈을 많이 벌지는 못하지만 그래도 마음은 풍족하게 살고 있습니다.


연락처

darkpgmr.lee at gmail.com



by 다크 프로그래머

'다크소개' 카테고리의 다른 글

다크의 자유게시판  (225) 2013.04.25
프로그래밍과의 만남  (7) 2013.01.28
블로그 개설 목적 및 참고 사항  (38) 2013.01.28

블로그 개설 목적 및 참고 사항

다크소개 2013. 1. 28. 01:23

저는 한 분야에 있어서는 나름 뛰어난 능력을 가지고 있다고 생각합니다. 제가 가진 것들을 이 블로그를 통해서 알리고 공유하고자 합니다. 그래서 제가 가진 지식과 경험이 이를 필요로 하는 이에게 유용하게 쓰일 수 있기를 바랍니다. 


그리고 나아가서 장기적으로는 이 분야에 있어서 인정받는 한명의 전문가로서 자리매김할 수 있기를 바랍니다.



소개글 2 (2017.08.30)


위 글은 블로그를 처음 개설하면서 썼던 글입니다. 지금보니 다소 치기어린 소개글입니다. 내용을 지우고 싶은 마음이 크지만 그래도 하나의 기록이니 남겨둡니다 ^^. 소개글을 한번 더 적어 봅니다.


저는 시간이 된다면 천천히 가는 것이 좀더 멀리 가는 길이라 믿고 있습니다. 그러면 그 안을 볼 수 있는 기회가 좀더 많아집니다. 제가 알고 있는 쓸데 없는 지식들보다는 그러한 내용이 블로그를 통해 전해진다면 좋겠습니다.


언어(영어)의 장벽에 대한 억울함, 수식으로 중무장한 이론들, 쓸데없이 높은 진입장벽, 그러한 것들을 낮추고 없애고자 하는 것도 블로그 목적 중의 하나입니다.



참고사항 (2016.06.07)

  • 저는 현재 직업을 가지고 있는 사람이며 따로 개발의뢰나 유료자문은 받기 어렵습니다. 하지만 특정 주제에 대해서 1~2시간 정도의 간단한 세미나(tutorial)는 가능할 수 있습니다 (영상기하학/3d비전, 최적화기법, PTAM, 파라미터추정, ...).
  • 연구개발 관련 또는 학생들이 공부중 문의하는 내용에 대해서는 제가 아는 범위에서는 (공부를 해서라도 ^^) 최대한 답변을 드리고 있습니다. 하지만 프로젝트 과제를 직접 도와달라든가 구체적인 문제를 풀어달라든가 하는 것은 제가 하기 힘든 일입니다.
  • 블로그 댓글은 다른 방문자에게도 참고가 되도록 가급적 공개글이면 좋겠습니다. 개인정보가 포함된 경우, 이미지 첨부가 필요한 경우, 국가 기밀(???)이 포함된 경우에는 이메일을 주셔도 좋습니다. 하지만 일반적인 질문, 의견은 가급적 블로그 댓글을 이용해 주시기 바랍니다.


by 다크 프로그래머

'다크소개' 카테고리의 다른 글

다크의 자유게시판  (225) 2013.04.25
프로그래밍과의 만남  (7) 2013.01.28
프로필  (34) 2013.01.28