R에 대한 기본적인 설명과 한줄 한줄 직접 실행하면서 배울 수 있는 패키지가 R에 있다. 바로 Swirl 이다. 사이트를 둘러보니, 학습자 모드와 교수자 모드를 모두 제공하는 듯 하다. Swirl로 R Programming 학습하기 Swirl은 R 버전 3.0.2 이상만 지원하기 때문에 먼저 R을 최신버전으로 업그레이드 해야 한다. 그리고 일반 패키지를 설치하듯이 swirl 패지를 설치한다. > install.packages("swirl") 그리고 swirl 라이브러리를 로드하고 swirl()을 실행해 강의 모드로 들어가면 된다. 이어서 이름을 물어보면, 본인 이름을 쓴다. (여기서는 mini를 적었다.) swirl 모드의 선택이 나오면, 0을 누르면 swirl을 종료하고 빠져나온다. swirl에서 제공..
아이들이 영어 공부하면서 CD를 가져오는데 MP3로 변환해서 스마트폰에 넣어주고 재생하는게 편해서 CD에서 MP3를 추출하는 프로그램을 찾아봤습니다. 그런데, 윈도우 미디어 플레이어에서도 가능하더군요. 윈도우 미디어플레이어 CD를 MP3로 변환 CD를 넣으면 미디어플레이어가 자동으로 실행됩니다. 아래와 같은 화면으로 나오면 우측 상단을 클릭해서 "라이브러리로 전환"을 합니다. 라이브러리 전환해서 상단의 "복사 설정"을 누르고 형식, 오디오 품질 등을 설정합니다. "기타 옵션"에서는 저장할 폴더를 지정할 수 있습니다. 이제 "CD 복사"를 클릭하면 CD의 데이터를 MP3로 변환하게 됩니다. MP3 태그 변환하기 이렇게 다운로드한 MP3 파일의 태그를 한번에 변경하기 위해서 MP3Tag 프로그램을 주로 사용..
어린이들을 위한 애니메이션, 노래 등이 올라와서 인지 아이들이 유투브(YouTube)를 참 좋아합니다. 헬로 카봇이나 터닝메카드의 오프닝 노래를 틀어달라고 하기에 폰에서 아예 MP3로 변환하는 방법을 정리해봤습니다. 웹에서 YouTube MP3 추출하기 유투브에서 MP3를 추출하는 것은 요즘 웹사이트에서 가능하기 때문에 별로 어려움이 없습니다. 아래 웹 사이트에서 유투브 URL을 넣고 변환하기 누르면 바로 "다운로드" 버튼이 나오는 형태가 되는 것이죠.. 가장 쉽게 변환할 수 있는 사이트는 YouTube MP3 입니다. http://www.youtube-mp3.org/ URL 넣어주고 "Convert Video" 버튼을 클릭하면 변환이 완료됩니다. 만약 다양한 타입 (WEBM, MP4, MP3)로 변환하..
OpenCV를 자바 환경에 설정하는 것은 지난번에 살펴봤다. 이번에는 실제 자바 프로젝트에서 프로그래밍하는 방법을 알아보기로 하자. OpenCV 라이브러리를 자바프로젝트에 설정하기 먼저 일반적인 자바 프로젝트를 하나 생성한다. 여기에서는 "Mini"라는 이름의 프로젝트를 생성했다. 환경 설정을 위해 생성된 프로젝트의 "Properties"에 들어가서 좌측의 "Java Build Path"를 선택하고 상단의 "Libraries"를 클릭한 후, 우측의 "Add Library.."를 통해 앞서 설정한 OpenCV를 지정하면 된다. 이어서 "User Library"를 선택한 후, OpenCV-3.0.0을 지정하면 된다. 최종적으로 다음과 같이 라이브러리가 설정된 것을 확인할 수 있다. OpenCV 자바 프로그래..
OpenCV는 2.4.4버전 이후로 자바를 지원하기 시작했다. OpenCV를 윈도우즈에 설정해서 이클립스 기반의 자바 프로젝트로 테스트를 해보도록 하자. OpenCV 3.0 설정 최신 버전의 OpenCV는 3.0으로 윈도우즈, 맥, 리눅스, 안드로이드, iOS등 다양한 운영체제를 지원한다. 우측의 OpenCV for Windows를 클릭하면, opencv-3.0.0.exe 파일을 다운로드한다. 이 파일은 압축 실행파일이라 별도의 설치를 하지 않고 압축만 풀게 된다. OpenCV의 폴더 구조와 자바 버전에서 사용할 jar파일의 위치를 빨간 테두리로 표시해봤다. 압축이 풀린 opencv 폴더를 c:\opencv로 복사하고 시스템 환경변수의 PATH에 다음 사항을 추가한다. C:\opencv\build\x86..
먼저 지난번에 설명한 R 데이터셋 처리 함수들의 일부를 살펴보자. table()로 일부 데이터 가져오기 mtcars 데이터셋의 실린더 수를 가지고 str(), summary(), stem()을 적용하면 다음과 같다. str()을 사용하면 R 객체의 구조를 확인할 수 있고, summary()는 데이터에 대한 요약 정보를 보여준다고 했다. 그리고 stem()은 줄기와 잎 형태로 데이터를 재구성해서 출력한다. 하지만 자동차의 실린더 수에 따라 일반적으로 4기통, 6기통, 8기통으로 나눠지기 때문에 이런 이산적인 데이터에 대해서는 위와 같은 형태의 출력보다는 테이블 구조가 더 적합하다. 그래서 table()을 한번 적용해 보면 다음과 같이 출력된다. 전체 자동차에 대해 좀더 확실하게 4, 6, 8기통으로 분류해..
톰캣(Tomcat)을 설치하고 난 후, catalina.out 로그 파일에서 한글이 깨질 경우, tocmat 설치 디렉토리/bin/catalina.sh 파일의 톰캣 실행 명령에 다음 빨간색으로 표시한 인코딩 정보를 추가하면 된다. exec "$_RUNJAVA" "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \ -Dcatalina.base="$CATALINA_BASE" \ -Dcatalina.home="$CATALINA_HOME" \ -Djava.io.tmpdir="$CATALINA_TMPDIR" \ -Dfile.encoding="utf-8" \ org..
휴대폰 뿐만 아니라 TV, 컴퓨터가 상호간 실시간 대화를 한다고 상상해보자. 영상 통화를 하면서 동시에 채팅과 P2P 데이터 공유까지 가능하다면... 이것이 현재 떠오르고 있는 WebRTC 기술의 비전이다. WebRTC를 활용한 아자르 국내 업체 하이퍼커넥트가 만든 영상 채팅으로 전세계 친구를 찾는 앱 "아자르(Azar)"도 WebRTC 기술을 활용한다. 아자르는 2013년 앱 론칭 후, 6개월만에 500만 다운로드, 11개월만에 1,000만 다운로드를 달성했다. (현재 2,000만 가입자 수...) 2011년 발표된 WebRTC 기술과 영상 채팅 서비스를 잘 결합한 성공 모델이라 할 수 있을 듯 하다. WebRTC란? WebRTC는 웹을 위한 실시간 통신 규격을 의미한다. 오디오나 비디오 스트림을 P2..
지난번 글에서 R 데이터셋의 명령어들.. head, str, summary, stem, fivenum, hist, boxplot 을 살펴봤다. 이번에는 데이터셋을 정렬하는 명령어를 알아본다. 실전에서도 데이터셋 정렬은 많이 사용하기 때문에 잘 알아두면 많은 도움이 될 것이다. 샘플 데이터 셋은 역시 R에 내장되어 있는 mtcars (1974년 Motor Trend US Magazine에서 추출한 73, 74년식 자동차 32개 데이터)이다. R 데이터 정렬 R에서 데이터 정렬하는 명령어는 order이다. 먼저 mtcars를 읽어온 후, > dtat(mtcars) mtcars 데이터의 mpg(mile per gallon)을 기준으로 order를 실행해 보자. order의 결과값을 실제 mtcars$mpg의 ..
"본 글은 2015년 8월 11일 지디넷코리아에 기고한 칼럼입니다." 최근 데이터 분석에 대한 관심이 높아지면서, 공공뿐만 아니라 민간에서도 다양한 프로젝트가 많아지고 있는 추세다.빅데이터 프로젝트의 핵심은 데이터 규모와 관련된 것뿐만 아니라, 데이터를 분석해서 가치를 창출하고, 이를 기반으로 의사결정을 해 실제로 비즈니스에 활용하는데 있다. 데이터의 가치를 찾아내기 위해서는 끊임없이 가설을 세우고 지속적으로 검증하는 절차가 필요하다.즉, 데이터 분석은 이러한 작업을 반복적으로 수행하면서 결과를 만들어가는 과정에 초점을 맞춰야 한다. 그러나 실제 빅데이터 프로젝트를 수행하는 형태를 살펴보면, 기존의 SI 프로젝트처럼 진행하는 경우가 많다. 대규모 SI 프로젝트를 수행하듯 전체 아키텍처를 설계하고, 주..