Tech
-
Python으로 Alfred Workflow 만들기Tech/Development 2014. 8. 23. 17:38
Alfred의 Powerpack을 구매해서 써오고 있다. 최근 OS X 요세미티에서 Spotlight 기능이 강조될 것이라고 발표되면서, 같은 기능을 하고 있는 Alfred의 영향력이 줄어들지는 않을까하는 우려를 보았다. OS X Mavericks 때도 1Password를 보면서 같은 우려를 한 적이 있었는데, 결과적으로 1Password는 아직까지 잘 써오고 있다. Website password 등을 제외하더라도 Software serial, privacy information 등을 보관하기에 좋다. 그래서 이참에 Alfred도 단순히 Spotlight 대체로 활용하는 것 보다 더 잘 써보자는 마음이 들어서 workflow를 활용해보려고 했다. 상용구 치환 등은 이미 Snippets 등의 built-i..
-
Transactional Memory #2Tech/Computer 2014. 6. 13. 22:11
무려 2013년 11월에 Transactional Memory에 대한 포스팅을 한 적이 있다. 이 때는, Parallel Computing에서 일반적으로 사용되는 Lock 방식의 메모리 관리기법의 단점에 대해 알아보았다. 대표적으로 3가지를 들 수 있다. Dead Lock: 같은 자원에 접근하는 Thread가 서로 멈추는 문제 Priority Inversion: Thread의 Priority가 지켜지지 않는 문제 Convoying: Lock 중인 Thread가 System call을 받으면 기다리는 모든 Thread가 멈추는 문제 위 3가지의 구조적 문제점 이 외에도, Shared resource에 대한 Lock을 위해 Kernel Instruction이 수시로 호출되면서 속도가 저하되는 문제 정작 Tr..
-
Python에서 SIFT Keypoint 확인하기Tech/Development 2014. 5. 25. 23:54
Python에서 OpenCV 지원이 점점 훌륭해지고 있다. 예전에 C/C++에서 OpenCV로 SIFT 키포인트를 확인하려면 여러가지 세팅의 난관에 부딪혔지만 이제 Python에서는 몇 줄만으로도 확인가능하다. 갓파이썬! import cv2 import numpy as np img = cv2.imread('lena.jpg') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) sift = cv2.SIFT() kp = sift.detect(gray,None) img = cv2.drawKeypoints(gray,kp) cv2.imwrite('lena_siftpoints.jpg',img)
-
Pragmatic한 Test-Driven DevelopmentTech/Development 2014. 4. 4. 20:52
그간 Programming 책이라곤 language syntax에 관련한 것 밖엔 읽어본 적이 없는데, 최근 들어서 SW 개발 자체에 관련한 책을 2권 읽어볼 기회가 있었다. 하나는 Pragmatic Programmer이고, 다른 하나는 Test-Driven Developement이다. 짜투리 시간에 꺼내 읽다보니 생각이 잘 나지 않아서 요즘 Pragmatic Programmer를 틈날 때 한번씩 더 읽어보고 있다. 두 책 모두 개발 목적을 향해 더 실용적인 행동을 권장하고 있다. 자칫 coding을 하다가 지엽적인 문제로 길을 잃는 나에게 매우 유익한 충고들이다. 특히나 Pragmatic Programmer의 Tracer Bullet 부분은 Test-Driven Development에서 추구하는 가치와..
-
AVCCAM Restorer 이용해서 MTS, M2TS 복원하기Tech/Computer 2014. 3. 27. 14:00
최근에 Sony 캠으로 영상을 촬영하고 편집할 일이 있었다. 촬영 후 자연스럽게 메모리의 동영상 파일(MTS 확장자를 가진다)만 USB에 옮겨담았는데, 나중에 편집하려고 열어보니 Final cut pro 같은 동영상 편집 프로그램에서 불러올 수가 없었다! 메모리 카드의 폴더 구조도 동영상에 대한 정보를 포함하고 있기 때문에, MTS 파일만 가져와서는 불러올 수가 없다고 한다. 즉, 동영상 편집 프로그램에서 불러오려면 캠을 직접 연결해서 Import하는 것이 가장 좋다. 하지만 상황이 여의치않아 MTS 파일만 달랑 남았을 경우에는 Panasonic에서 제공하는 AVCCAM Restorer를 이용해서 복원해도 된다. 여기에서 다운받을 수 있다. 그런데, 주의할 점은 mts, m2ts의 파일명이 5자리 숫자로..
-
Retina Display에서 MATLAB 선명하게 보기Tech/Computer 2014. 3. 18. 22:26
예전에 레티나 디스플레이에서 MATLAB2013b를 사용할 때, 레티나 적용이 되지않아 뿌옇게 나온다고 포스팅 한 적이 있다. (Matlab R2013b는 왜 Retina Display를 지원하지 않나?) 얼마전에 출시된 MATLAB2014a에서도 여전히 해당 문제는 해결되지 않았는데, 최근 테스트를 해보니 jdk1.7.0_45 버젼에서는 Retina display에서 문제없이 잘 동작한다. 아래의 순서로 MATLAB built-in java를 새로운 JAVA로 바꿔치기하면 된다. MATLAB과 연결될 최신 버젼의 JAVA JDK가 설치되어있는지 확인해야한다. 내가 사용하고 있는 JAVA 버젼은 1.7.0_45였다. JRE의 위치를 확인해보자. 아마 대부분의 맥 유저는 아래 경로에 위치할 것이다. /Li..
-
SIFT 기초 1Tech/Vision 2014. 1. 29. 20:44
Object Recognition에서 가장 유명한 알고리즘을 꼽으라고 하면, 누구나 꼽는 게 있는데, 바로 SIFT다. SIFT는 Scale-Invariant Feature Transform의 약자로, 1999년 ICCV(International Conference on Computer Vision)에서 처음으로 발표되었다. 그 유명한 David Lowe의 대표작이다. D. G. Lowe, "Object Recognition from local scale-invariant features." International Conference on Computer Vision, Corfu, Greece (Sep. 1999), pp. 1150-1157. 이후에 특징점의 정확한 위치를 추정하는 Extrema loc..
-
과연 Deep Learning은 인공지능 연구에 혁신을 가져다줄까?Tech/Deep Learning 2014. 1. 6. 20:47
Deep Learning의 전신이 되는 Neural Network는 본래 1950년 후반에 소개된 역사있는 학문이다. Frank Rosenblatt는 이 당시에 뇌를 모방하는 Perceptron(퍼셉트론)이란 이름의 Neural Network를 제안했는데, 기본적인 삼각형과 사각형 형태 정도를 구분할 수 있었다. 반응은 폭발적이었다. 하지만 오래가진 못했다.1969년에 Marvin Minsky가 저술한 책 때문이었다. Rosenblatt이 제안한 Perceptron은 기본적인 Exclusive-OR 연산도 수행하지 못하는 단점이 있었다. “사람의 뇌”를 닮았다고 한 시스템이 이런 기본적인 연산도 수행하지 못한다니? 그 이후로 Neural Networks는 급속도로 사장되었다.1980년 중반이 되어서야 N..