openCM 개발환경 구성

*이 글은 중앙대학교 제로페이지, TMI와 서울대학교 SIGMA, 숭실대학교 동아리와 공유하는 글의 목적으로 작성됩니다.

openCM 개발 환경을 구성하는 방법은 쉽다. 아두이노와 마찬가지로 IDE를 제공해 주고 있다. 그리고 생긴것도 상당히 유사하게 생겼다. 왼쪽이 아두이노, 오른쪽이 openCM용이다. (사실 이것도 그냥 외부에서 끌어왔다는 이야기가 무성하다.)

IDE 비교사진

프로그램의 다운로드는 이 링크를 클릭하면 받을 수 있다. 메뉴얼로 연결된다.

윈도우 버전의 경우에는 드라이버까지 추가로 설치해서 실행해 줘야 한다. 그 방법도 메뉴얼에 나와있다. 다음에는 IDE과 보드를 이용해서 실제로 간단하게 해보는 것을 진행해 보기로 하겠다.

진짜로 알다가도 모르는 게 사람 사는 건가…

오늘 아침에 연구실로 출근(?!)하는 중이었다. 전철에서 왠지 익숙한 얼굴이 있었다. 몇번 봐도 익숙해서 말을 걸까 했었는데 카톡이 왔다. 그쪽에서도 알아본 모양이다.

이렇게 전철에서 난 고등학교때의 동창을 만났다. 거의 변한 게 없어서 금방 알아봤었다. 나이 좀 먹고 했으니 첫 대화에서 나올만한 건 뻔했다.

“졸업했냐?”
“아직. 1년 남았고, 그 뒤에 대학원 가려고. 넌?”
“나 이제 한학기 남았지.”

이러고 나서 묻는 건 취업활동에 대한 것인데… 난 그것보단 잘지내냐는 것을 묻고 싶었다. 그래서 화재를 바꾸려고 했던 것이, 그 친구의 현황을 다 설명해줘버렸다.

“근데 지금 어디가?”
“어. 학원”
“어학원?” (왠지 모르게 제일 먼저 묻게된다)
“아니, 컴퓨터학원. 나 올해부터 프로그래밍 배워”

……

별로 좋지 않은 생각이 들었었다. 그친구 국문과 합격할때까지 글 잘쓰고 책도 많이 읽고 해서 글쟁이로 먹고 사는 데 문제 없을 거 같아 보였었다. 그런데 공모전이고 뭐고 다 떨어져서 이제 프로그래밍 배운다고 한다.

그렇게 학원에서 단기간으로 배워서 현장 가서 이리 치이고 저리 치이고 하는 사람들을 많이 봐서 그런가… 별로 좋은 생각이 들진 않았지만 표현을 어떻게 할 줄 몰라서 그냥 열심히 배워보라고 했다. 어차피 본인이 선택해서 하고 있는 것이니까… 그리고 나서 내리는 곳이 달라서 헤어졌다.

그리고 나서 볼일 좀 보고 나서 환승하고 학교로 오는 전철에서 잠시 잠들었다. 그때 고등학교 졸업식때가 생각이 났다. 난 그때 대학 못가서 그냥 졸업식이고 뭐고 신경 안쓰고 사복 차림으로 대충 왔고, 대학 간 애들은 제대로 쫙 빼입고 나서 어디어디 붙었다고 자랑하던 모습이 기억났었다. 내가 졸업할 당시 내 주변 친구들은 대학 못간애들이 의외로 많지 않았다. 그 때 이미 한번 인생길이 완전히 갈렸다고 생각했었다.

그리고 7년이 흐른 지금에서 전혀 다른 모습을 만났다. 그때 F-ma나 좋아하고 컴퓨터 보고 헠헠거리던(?!) 나랑 열심히 공부해서 그래도 원하던 대학 갔던 그녀석이랑… 지금 이렇게 많은 변화가 일어날 줄은 몰랐기 때문이다.

어른들은 20년 뒤에 보면 완전히 다른 사람이 되어 있을지도 모른다고 했지만, 난 그때그때 봐도 막 바뀌어 있는 것을 보니… 알다가도 모르는 게 사람인 거 같다.

p.s. 잡소리였습니다.

p.s.2. 그 친구 만나고 나서 夢の河를 들어서 그런지 더 기억에 남았다.

openCM 하드웨어 살펴보기

*이 글은 중앙대학교 제로페이지, TMI와 서울대학교 SIGMA, 숭실대학교 동아리와 공유하는 글의 목적으로 작성됩니다.

 

위에 있는 사진이 openCM 입니다. A 타입이고, 핀이나 헤더 등을 직접 납땜하게 만들어놨습니다. (그래서 규링이 싫어합니다)

보시면 구명 옆에 숫자나 글씨가 써있는데 그 핀 번호에 맞춰서 출력 등을 제어할 때 선언해서 쓰면 됩니다. 계중에는 아날로그 입력이 되는 핀이 따로 있고, pwm 제어가 되는 부분도 따로 있다고 합니다.

아두이노와 비교한 사진입니다. 오른쪽이 아두이노 UNO, 왼쪽이 openCM입니다. 크기가 상당히 작죠? 상당히 작은 대신 여러모로 부하가 걸린다고 하는군요. 열을 많이 받아서 뻗는다던지, 부하가 심해서 기판이 녹는다던지…(뭔가 일어나선 안되는 것들인 거 같은 기분이 듭니다.)

제품과 함께 사용설명서도 아래의 사진과 같이 첨부되어 있습니다. 아두이노를 안써보셨거나 잘 모르시는 분들은 아래의 설명서를 같이 참조하시거나 레퍼런스를 보시고 참조하시면 됩니다.

 

하드웨어를 살펴봤으니 다음 글에서는 실제로 개발 환경 설정하는 부분을 살펴보겠습니다.

개발자와 건강 5

번호가 밀렸었는데… 번호 수정 다하고 나서 지금부터 제대로 된 번호군요. ㅇㅅㅇ;;

규링의 몸은 의외로 솔직하더군요.

지난주에 했던 신체검사 결과가 나왔습니다. 수치가 조금씩 감소했습니다만, 여전히 살을 빼야 합니다.

그동안 샐러드 많이 먹고, 커피 안마시고 차로 마시고, 잠도 좀 자고 했더니 확실히 나아진 것이 있군요. 그래도 병원 원장님은 그냥 굶으란 소리는 여전히 하시지만요. ;ㅁ;

밖에서 음식 먹을때도 주의 좀 하면 계속 개선될 여지는 있는 거 같습니다. 이 글 보시는 분들 중에서도 외식이 많으시다면 식단에 대해서 검토하시는 것을 추천합니다. 의외로 먹는 것 조절로도 변화가 오는 게 보이는군요. (아니, 제가 극단적인 상황이라 반응이 바로바로 나타나는 것일지도 모르겠습니다만..)

openCM 글을 시작합니다.

*이 글은 중앙대학교 제로페이지, TMI와 서울대학교 SIGMA, 숭실대학교 동아리와 공유하는 글의 목적으로 작성됩니다.

openCM은 로보티즈사에서 개발한 제어 보드입니다. 아두이노와 같이 PC에서 프로그램을 작성하여 그에 맞는 제어를 할 수 있도록 설계된 보드입니다.

위의 동아리에서는 이 디바이스를 통해 작품 제작 및 펌웨어 수정 작업 등 여러 활동자료를 공유합니다.

그러나 이 블로그에 쓰이는 글은 처음 접하는 사람(openCM 외에도 아두이노도 접해보지 않은 사람들)을 위한 글로써 상당히 쉽게 작성할 것입니다.

멋대로 단정짓지 마세요…

개발자들이라면 개발자 이외의 사람들에게 하고 싶은 말이 뭐 있을까란 생각을 할 때가 있다. 그럴 때 생각나는 게 있다면 난 우선은 이 말을 꺼내고 싶다.

산업기능요원 시절의 일이었다. 안드로이드가 당시 2.3 버전으로 막 풀어다니고 안드로이드 폰이라고는 갤럭시 아니면 거의 개판 오분전이었던 당시. 메뉴 버튼이 있었다. 누르면 팝업된다. iOS의 액션 시트와 비슷하게 올라온다. 단, 차이가 있다면 그때는 안드로이드에 하드웨어 버튼으로 있었다.(지금도 갤럭시 시리즈에는 그게 꾸준히 달려있다. 넥서스 시리즈에서는 없어진 지 오래다) 근데 뭣도 모르는 영업실적 밑바닥인 영업부장이 그걸 구현하라고 했다.ㅡㅅㅡ

그 당시에는 기술팀을 따로 담당하던 팀장이 없었다. 게다가 정규직 개발자라고는 한명 뿐이었고, 나를 포함한 셋은 병특이었다. 이런 개발팀을 “내가 해봐서 아는데”라면서 끼고 있던 부장이 개발에 대해서 말하면 한마디 통하지도 않는다. 이런 게 가능하냐고? 장담하는데 이런 게 사장부터 시작하면 답 없다. 근데 한국 기업의 약 80% 이상은 이렇다고 한다. 대기업도 마찬가지다. (요즘 대기업은 그나마 좀 물갈이 되어가지만, 임원은 어림도 없다)

이사람들이 멋대로 단정짓고 개발하라는 말 때문에 스트레스에 시달렸다. 없는 버튼을 어찌 만드냐고 하니 대답도 안하고 회의 끝냈다. 그러면서 사장한테는 이런 기능이 있어야 된다면서 나더러 해야 할 구실을 만들게 했다.

이런 건 제발 사전에 예기 하고 해야된다고 하니 예기했다고 한다. 안드로이드 개발자한테만.

…..이런 거 멋대로 좀 단정짓고 하지 마세요.

그리고 이번에 있던 일에서도 그랬었다. 개발자가 그냥 멋대로 단정짓고 사장이 그냥 멋대로 단정짓고 해서 내용 수정 요청만 줄줄이 있고, 그 밑에서 프로그램 버그 잡기도 무지 바쁜 내가 버그 고쳤더니(이 버전을 A라 한다) 고친 버전 테스트 하기도 전에 버전을 가지고(이 버전을 B라고 한다) 오류라면서 추가로 막 던지기 시작한다. 그리고 이거 수정해 주면 내가 던져줬던 것 중에서 버그라면서 계속 던져준다. 여기에 한술 더 뜨면, B에서 수정 못한 버전은 당연히 A에서도 나온다. 근데 그걸 가지고 계속 안고친다고 난리치기 시작하면 답 없다. 난 B의 오류 레포트를 받으면서 새로 보고받은 것이다. A에까지 적용 안되어 있을 가능성 충분히 있을 수 있다. 근데 그걸 가지고 일 안하니 뭐 그러니…

그러다가 잘 안되니 멋대로 시방서를 고쳤다. 그리고는 나한테 한참 뒤에 알려준다. 이거 바뀌었는데 왜 적용 안되었냐고… (진짜 가관인 건, 나중에 본인들이 왜 고쳤는지도 모르는 채로 와서 따진다)

본인들 버그가 있어도 ‘본인들 버그 아니다. 소프트웨어 버그다’라면서 “추측성” 레포트를 올리고, 난 소스 보면 제대로 되어 있고, 본인들 생각대로 동작 안하니 욕은 다 하면서 뒤로 은근슬쩍 수정하고 있고..

제발 멋대로 단정짓고 일 진행하지 말았으면 한다. 아님 자기들이 나서서 개발하던가.

논문에 대해 이것저것 조사해 보고는 있는데…

뭐, 무조건 이 방법대로만 준수해서 써야 하는 건 아니라고는 본다. 자신이 관심있는 주제에 따라 논문을 쓰게 되는데, 논문 유형을 지금까지 조사했던 유형 몇 가지를 복합적으로 보고 써야 할 수도 있기 때문에 참고용으로 본 것이다. ㅇㅅㅇ

구성이 특화될 수 있는 건 당연한 것이니…. 이런 게 있다는 것은 알아주는 것으로 보자. ㅇㅅㅇ

p.s. 알고 나면 단순하지만, 모르면 그냥 막 쓰게 되는 것들이다.

p.s.2. 이 속도로 얼마나 더 공부하게 될지…;ㅁ;

사례 연구논문

사례 연구논문은 어떤 문제를 설명하거나, 어떤 문제를 해결하기 위한 방법을 제시하기 위해, 혹은 필요한 조사나 이론적인 문제를 조명하기 위해 연구자가 얻은 사례를 기술하여 설명하는 연구논문이다. 잠깐.. 이거 경험적 연구논문하고 겹치는 거 아냐! ㅇㅅㅇ!

근데 아니군요. 사례 연구의 경우에는 사례를 기술할 때 연구자는 중요한 자료를 제공하는 것과 사례 또는 관련자들의 기밀성을 보호하는 것 사이의 균형을 유지해야 한다고 합니다. 즉, 제가 직접 실험해서 얻은 연구 경험을 쓰는 것과 달리, 다른 곳에서 연구를 통해 만들어진 자료를 사용하는 것이 차이가 있군요. 이건 연구자료의 제공과 공개 범위 등이 정확하게 있어야 하는군요. 권리에 대한 문제부터 시작해서 여러모로 좀 복잡해 보이긴 하는데, 관심있는 분야에 대한 연구가 본인만 하는 것이 아니므로 연구 사례를 검색해 보는 것도 좋은 자료 분석 접근법이라고는 본다. ㅇㅅㅇ

단, 출처나 저작권 등의 문제에 대해서는 잘 따지자…

방법론적 연구논문

방법론적 연구논문은 개로운 연구방법론적 접근, 기존의 연구방법에 대한 수정, 양적이고 자료분석적인 접근에 대한 논의가 연구자에 의해 제시되는 연구입니다. 연구 방법론에 관한 논문이다 보니 연구 방법론에 대한 제시가 중요한 역할을 합니다. 연구자는 금방 사용할 수 있는 연구방법론적이고 자료분석적인 접근에 중점을 두고, 접근에 대한 설명으로써 경험적 자료를 소개해야 합니다. 현재 사용되는 연구방법과 연구자가 제안한 연구방법을 합리적으로 비교할 수 있도록 해야 합니다. 연구 방법론에 대한 검증을 위해서도 필요한 과정이긴 하지만, 논문으로써 쓰려면 별개의 것으로 봐야겠죠. ㅇㅅㅇ

이론적 연구논문

이론적 연구논문은 기존의 연구논문의 어떤 영역에 관한 진전된 이론을 도출하기 위한 연구논문입니다. 이론적 연구논문은 구조상으로 비평 연구논문과 유사합니다. 이론적 연구논문은 이론적인 구조들을 화장하고, 재정의하기 위하여 이론의 발달과정을 추적하여 새로운 이론을 제시합니다. 때로는 기존의 이론을 분석하여 결점을 지적하거나, 한 이론이 다른 이론보다 우원함을 입증하기도 합니다.

…헷갈리죠? 저도 찾아보고 좀 헷갈렸는데, 경험적 연구논문에 대해서 기억 나시면 좀 더 설명하기 쉬워집니다. 자연과학 계열에서는 실험과학과 이론과학에 대한 걸 생각하면 정말 설명이 깔끔하게 끝납니다.

경험적 연구논문이 실험 결과를 보고 난 결과 논문이라면, 이론적 연구논문은 이러한 경험적 연구논문을 통해 얻은 데이터를 “일반화(학계에셔는 이론화라고 하는듯)” 하는 연구논문이라고 보면 됩니다.

사실상 엄청 어려운 논문이라고 보고 있습니다. 이거 인정받으면 패러다임 바뀌는 거에요. ㅇㅅㅇ 내 이름 걸고 이론 나오는 거죠!! 교과서에도 실릴지도!!! (…그럴리가.. /퍽!)