일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 | 31 |
- 김창준
- 개인성향
- 회고
- Python
- 품의
- Specification
- 안좋은기억
- 직무의사유화
- 인사
- 페북글
- 원격면접
- 개저씨
- 인간
- Open Computer Vision Library
- Agile
- 맥
- Documentation
- 애자일
- build
- 인사과
- 와인버그
- Computer Vision
- MacOS X
- 엔지니어
- xper
- 스펙
- OpenCV
- 코딩 테스트
- 교훈들
- 보석들
- Today
- Total
목록Technical writing (10)
세상을 놀라게 하자!
앞선 글에서 잔소리는 열심히 적어놨는데 어떻게 써야 할지 막막하긴 하다. 그 이유인즉슨 사실 10년 이상 소프트웨어 개발일을 하면서 어떤식으로 Specification을 적어야 하는지 말하기도 전에 그게 왜 필요하냐며 악쓰는 사람들이 더 많았기 때문이다. 부디 그 분들을 위해서 쓴 ‘구전문학 프로젝트 관리’를 참고 바란다. (아니라고는 말 못할 것이다.) 단순한 글쓰기를 어떻게 해야 하는가에 대해서는 '한국의 이공계는 글쓰기가 두렵다’같은 책들을 참조하는게 더 나을 것이다. 가장 중요한 것은 먼저 우리가 ‘글을 쓴다’라고 하는 행동을 어떤 식으로 하고 있느냐이다. 단순히 생각나는대로 글을 적는것 역시 ‘수필’로 가치가 있겠지만 지금 우리는 그런 글을 쓰려고 하는게 아니다. 인류가 만든 것 중에서 제일 복..
어느 경우에도 설계도를 그리지 않고 뭘 만드는 경우는 인류 역사 5000년 이래 없다. 아무리 단편 소설을 쓰더라도 최소한 플롯은 적어두고 시작한다. 그런데 소프트웨어를 만드는 데는 어떻게 해야 하는지 잘 모르는 사람이 많다. 물론 어려운 본질에서 벗어난 온갖 문서질에 치이다 보니 아예 하지 말자는 사람들도 있다. 그럼 뭘 써야 하느냐? 이렇게 해보면 어떨까 싶다. 1. GUI Specification: 만들고자 하는 소프트웨어가 어떤식으로 화면이 구성되어야 하고 어떤 입력을 받아서 어떤 결과를 보여주어야 하는지를 ‘그린다’. 하다보면 사실상 그림과 설명으로 구성이 되는 경우가 많다.출처:http://www.startuprocket.com/blog/how-to-create-a-user-interface-..
XPER 2011년 1월 모임에서 위와 같은 주제로 발표를 하게 되었습니다. Agile approach can help computer vision research Computer vision과 Agile을 같이 이야기 할 수 있는 것이냐 한다면 사실 좀 다른 범주입니다. 하지만 Computer vision 연구 조직을 운영하는데 있어서는 Agile방법론이 많이 아이디어를 줄 수 있다고 생각합니다. 어찌보면 Software를 이용하는 다른 연구/개발 쪽에도 볼만한 아이디어들이 있다고 생각합니다. 사실 Agile도 도구에 지나지 않지요, 이 Agile뒤에 있는 '인간의 존중'이란 생각이 제일 큰 그림이라고 저는 생각합니다. 그만큼 발전을 해야 하는데 아직도 부족한 자신을 돌아보게 됩니다. 이 슬라이드는 그..
일반적으로 Computer vision을 하다보면 Pattern recognization에서 사용하는 방법들을 많이 사용하게 됩니다. 그런데 '조금' 다릅니다. 때론 '많이' 다르게 해야 합니다. 어떤 이유 때문일까요? 일반적으로 두 서너개의 집합이 있고 이에 대한 분류를 하라고 하면 Pattern recognition쪽을 하신 분들은 자연스럽게 K-Mean Clustering을 찾게 됩니다. 그런데 이것이 늘 맞을까요? 아시는 분들은 알겠지만 최소한 mean이 몇개가 어디에 있을 것이라는 것을 정해주어야만 가능하기 때문에 이것을 어떻게 정하느냐에 따라 많은 차이를 나타냅니다. 늘 맞지 않는다는 이야깁니다. 그럼 이런 분류 방식을 Computer vision에 적용해보지요. 예컨데 Thresholding..
CAPTIG이라고 Computer vision And Pattern recognition Technical Interest Group이라는 Computer Vision연구자 Group의 정기모임을 어제 했습니다. 그 정모에서 발표한 내용을 Slide로 올립니다. 가장 '부실'한 발표이긴 했지만 나름 다들 고민하는 부분이었다는 피드백을 받은지라 만족하고 있습니다. 사실 일은 이것저것 학교든 회사든 시키기는 하지만 어떻게 일하는 것인지, 어떻게 연구해야 하는 것인지에 대해서는 아무도 안가르쳐 주지요. 꼭 필요한 것임에도 한국에서는 '혼자 하는 것'으로 치부되는 것 같습니다. 저는 똑똑한 '국민'이 아닌지라 이런 것들에 대해 논의하고 싶어 하는지도 모르겠습니다. 그리고 이번 발표덕에 Slideshare.net..
간만에 학교에 가서 이것저것 좀 보고 있었습니다. 졸업한지 얼마나 되었다고 벌써 후배들이 까마득 모여있네요. 미니맥을 쓰는 후배가 갑자기 웹캠이 이상하다고 해서 봤습니다. 이상하게 화면이 정상적으로 계속 나오는게 아니라 막 안나왔다가 하고 그러더라고요. 이게 뭔일인가? 다른 웹캠을 연결해 보니 이상없이 돌아가고 그것만 이상하네요... 알고보니 맥에서 지원되는 웹캠이 종류가 있다는 겁니다. 모든게 되는게 아니라네요? 사실 요즘 맥북이나 아이맥은 다 캠이 달려 나오니까 별 일 없는데 맥미니나 데스크탑 쓰시는 분이 있으시다면 완전 대박날 수 있습니다. 꼭 캠 구매전에 홈페이지에서 맥 드라이버를 지원하는지 확인해 보세요. 후배가 가진 캠은 직접 드라이버가 없어서 직접 깔았다고 하더라고요. OpenSource 중..
간단한 예제 코드를 만들어 보니 이렇게 됩니다. #! /usr/bin/env python from opencv.cv import * from opencv.highgui import * from opencv.matlab_syntax import * cvStartWindowThread() im = imread( "img001.jpg" ) imshow(im) while True: k = cvWaitKey (0) if k == '\x1b': break 이거 왜 저렇게 쓸데 없는 while을 넣어야 하는지... 이거 너무한데요? 사실 C언어 기반으로 하는 사람들 한테야 그까이꺼 할 수도 있겠지만 Python을 꼭 MATLAB대용처럼 써 왔던 사람에게는 조금 어색합니다. 예전 1.0버전에서는저 부분이 없이도 딱 윈..
기본적인 방법들은 OpenCV wiki에 적혀져 있는 방법대로 하면 C언어에서 사용할 수는 있게 된다. 그리고 이것을 사용하는데 X code에서 이용하는 방법은 X code에서 OpenCV 이용하기를 따라가면 된다. 물론 그냥 Unix에서 하듯이 Make만들고 해도 된다. 결국 Mac OS X도 Darwin이란 Kernel을 사용하고 있는 Unix 이기 때문이다. 그러나 Python interface는 쉽게 되지 않는 것을 확인할 수 있었다. 그래서 여기저기 웹을 뒤져보고 정리해 보니 이런 방식으로 하면 되었다. MacPorts 받기 MacPorts는 Mac OS X 기반에서 도는 각종 Package들을 관리해주는 tool이다. 데비안이나 우분투의 apt-get같은 것을 생각하면 된다. 비슷한 것으로 F..
The standard guide to build open computer vision library is written on OpenCV wiki. How to use openCV in X code is described in this link (Korean). It's simple. Mac OS X is UNIX os using Darwin kernel. But building python interface was difficult. So I googled and tested the results. I summarized the search result. Download MacPorts MacPorts is the project of porting UNIX program to Mac OS X and ..
요즘 간만에 Software tuning의 세계에 빠져봅니다. 뭐 회사일로 바쁜 거지만 그 덕에 뭔가 배울 수 있는 것들이 늘어서 좋습니다. Dual Core CPU가 요즘 화제지요? CPU의 내부 core가 쌍으로 있기 때문에 한개의 칩으로 두개의 CPU를 가지고 있으니 얼마나 편하겠어요. 하지만 사람들이 착각하고 있는 것이 있습니다. CPU가 두개라고 처리속도가 두배가 되지 않는 다는 사실입니다. 이게 무슨 소리냐고요? 자 한번 생각해봅시다. 아래와 같은 for loop가 있다고 해봅시다. for(int i=0; i