낙서장
- 오픈소스 리포트 카드 2013.11.26
- afreeca 방송 유튜브 올리기 2013.11.19
- VirtualBox 지워진 인스턴스 제거하기 2013.11.15
- VirtualBox 설치하기 2013.11.15
- Dart Samples 2013.11.14
- Dart Editor 간보기 2013.11.14
- Dart 1.0 출시 2013.11.14
- 10일간 로그 분석 2013.11.14
- vi에서 붙여넣기할 때 한 줄씩 더 추가되는 경우 2013.11.14
- centos iso download 2013.11.14
오픈소스 리포트 카드
afreeca 방송 유튜브 올리기
아프리카 방송을 통해서 시험방송 첫 시리즈를 시작했습니다. 아프리카 방송은 일주일간 다시보기를 지원합니다. 그 이후에는 삭제가 되어서 볼 수 없게 됩니다.
방송은 시험방송이라 크게 신경쓰지 않았는데, 시험방송이지만, 다시 보고싶어 하시는 분들의 요청이 자주 들어왔습니다.
아프리카 방송을 녹화하는 방법을 이리 저리 알아봤는데, 나중에 알게 되었습니다. 방송을 한 사람은 PC 다운로드 기능을 아프리카에서 지원해줍니다.
1시간 단위로 되어있는 파일을 다운로드 받을 수 있습니다.
이 파일을 유튜브에 올리면 됩니다.
우선 전자정부표준프레임워크 재생목록을 만들어서 공개를 시작했습니다.
http://www.youtube.com/watch?v=GH8eJWE35mw&list=PLDMPhWe3Cfpa_YI_s2eWbFWXo9-NPS7qz
멋있게 편집해서 올리고 싶지만, ^^; 지금은 일단 백업차원에서 올리도록 하겠습니다. 방송을 하기에는 제가 잡음을 많이 내는군요. ^^;
VirtualBox 지워진 인스턴스 제거하기
Virtual VMs에서 바로 삭제한 것은 수작업으로 수정해서 고쳐야 합니다. VirtualBox 프로그램을 제거하고 다시 설치해도 정보가 남아있었습니다.
접근할 수 없음이라고 표시되는데, 삭제도 되지 않습니다.
\Users\사용자\.VirtualBox 폴더에 있는 VirtualBox.xml 파일에 정보가 있습니다. VirtualBox는 먼저 종료해야 합니다.
워드패드로 VirtualBox.xml 파일을 열어서 연결이 끊어진 <MachineEntry /> 태그를 삭제합니다.
<ExtraDataItem /> 태그에서는 m=UUID 형태의 지난 정보를 지워야 합니다. 남아있는 VM의 UUID는 로그에서 확인이 가능합니다. 순서는8자리가 2글자씩 뒤로 섞여있습니다. m=43bf0e29-... 이 정보가 29 0e bf 43 이런 순서입니다.
잘 정리된 화면을 보니 반갑습니다.
VirtualBox 설치하기
VirtualBox는 가상머신(Virtual Machine) 소프트웨어입니다. VM Ware라고도 합니다. VMWare라는 회사도 있습니다. VirtualBox는 Oracle이 관리하는 오픈소스 소프트웨어입니다.
기능은 OS 내에 다른 OS를 실행할 수 있습니다. Windows 7 내에 CentOS 같은 리눅스를 가상으로 띄울 수 있는 것입니다. 이 때 밖에 있는 OS를 호스트(host) OS, 가상으로 운영되는 OS를 게스트(guest) OS라고 합니다.
우선 virtualbox를 다운로드 받아서 설치합니다.
아래 링크에서 보이듯이 윈도우, 맥OSX, 리눅스, 그리고 솔라리스까지 VirtualBox가 설치됩니다.
설치는 익숙한 패턴대로 다음 > 다음 > 다음 >... > 완료 하시면 됩니다.
리눅스는 CD이미지를 iso 파일로 배포합니다. CentOS는 레드햇 계열의 OS인데, minimal 버전을 다운로드 받아서 게스트 OS로 설치해보겠습니다. 6.4 현재 최신 버전을 받아보겠습니다. Daum이 다운로드 속도가 잘 나옵니다. 감사합니다. ^^b
http://isoredirect.centos.org/centos/6/isos/x86_64/
minimal 버전은 텍스트만 지원이 됩니다. 마우스 사용도 안되기 때문에 많이 당황할 수 있습니다. 대신 메모리 사용이 적기 때문에 서버용으로 쓰기에는 괜찮고, 외부(호스트OS)에서 ssh 로 접속해서 작업을 할 수 있습니다.
Dart Samples
https://www.dartlang.org/samples/
Dart가 호스팅되는 곳은 현재 Heroku가 있습니다. 기본 지원이 아닌 buildpack을 이용해야 합니다.
https://devcenter.heroku.com/articles/third-party-buildpacks
https://github.com/igrigorik/heroku-buildpack-dart
Dart Editor 간보기
Dart 1.0이 나오면서 사이트 메인에서 Download 받으면 Dart전용 브라우저인 Dartium이 포함된 개발도구를 갖게 됩니다.
이클립스 기반으로 만들어진 도구이기 때문에, 이클립스의 기본 사용법만 안다면 쉽게 개발할 수 있을 것입니다.
Dart 프로젝트 구조를 볼 수 있습니다.
간단히 first와 fibonacci 수열 프로젝트를 만들어서 실행해 보았습니다.
웹 프로젝트를 만들어보겠습니다.
웹 프로젝트의 파일 구성은 다음 그림과 같습니다. javascript 같은 코드가 곳곳에 보입니다.
웹 프로젝트를 실행하면 3030포트를 통해서 웹페이지가 열립니다.
크롬이 뜨는 줄 알았습니다.
작업 표시줄을 보니, 아이콘 색깔이 다릅니다. Chromium이라고 보이는 Dartium입니다.
Dart 1.0 출시
Dart: Structured web apps (구조화된 웹 앱)
구글이 키워낸 또 하나의 JS 기반의 언어 Dart가 2년만에 정식 출시되었습니다.
http://www.infoq.com/news/2013/11/dart-10
Dart를 JS로 바꿔주는 dart2js 도구도 지원이 되고, 요즘 핫한 AngulartJS와 합작품인 Angular.dart 도 있다고 합니다. 둘 다 구글에서 만들었기 때문에 결합이 용이한 듯 합니다. infoq에 따르면 dart2js 로 나온 JS가 기존 JS보다 용량도 작고, 빠르기까지 하다고 합니다.
5분 코드를 보면 다음과 같습니다.
main() { // 앱 실행 시작 print(new Fibonacci(10)); // 새로운 객체 실행 결과 출력 } class Fibonacci { // 클래스 선언 int original, fibo; // 변수 선언 String toString() => '$fibo'; // 간략화된 문법으로 메소드 선언 Fibonacci(int value) : // 목록 초기화로 생성자 함수 선언 original = value, fibo = fib(value) { } static int fib(int n) { // 클래스 메소드 선언 if (n < 2) { // 제어 흐름과 표현식 return n; } else { return fib(n-1) + fib(n-2); // 산술 연산자 } } }
자바 코드 같기도 하고, coffeescript 영향도 받은 것 같이 느껴집니다.
계속 나옵니다.
뭔가...
update: zdnet의 임민철 기자님 기사입니다. 상황을 알기에 좋은 기사입니다.
http://www.zdnet.co.kr/news/news_view.asp?artice_id=20131115092635
10일간 로그 분석
10일간 웹로그에서 가장 많이 찍힌 문자열이 다음과 같습니다.
$ head -20 part-r-00000.sorted
- 38368124
+0900] 15687677
"GET 15639179
HTTP/1.1" 15460537
.NET 12153058
CLR 12152759
NT 12104459
"Mozilla/5.0 10849691
(compatible; 10664745
Windows 9383937
MSIE 9348230
200 8631840
6.1; 7713934
304 5998624
like 4948562
(KHTML, 4430859
Gecko) 4422071
"Mozilla/4.0 4289783
WOW64; 3823166
2.0.50727; 3712273
추출한 데이터 목록과 용량입니다.
[hadoop@hadoop input]$ ls -alh && du -h
total 3.6G
drwxr-xr-x. 2 hadoop hadoop 12K Nov 14 20:01 .
drwxr-xr-x. 12 hadoop hadoop 4.0K Nov 14 20:11 ..
-rw-r--r--. 1 hadoop hadoop 455M May 15 2013 localhost_access_log.2013-05-14.txt
-rw-r--r--. 1 hadoop hadoop 467M May 16 2013 localhost_access_log.2013-05-15.txt
-rw-r--r--. 1 hadoop hadoop 426M May 17 00:00 localhost_access_log.2013-05-16.txt
-rw-r--r--. 1 hadoop hadoop 153M May 18 00:00 localhost_access_log.2013-05-17.txt
-rw-r--r--. 1 hadoop hadoop 138M May 19 00:00 localhost_access_log.2013-05-18.txt
-rw-r--r--. 1 hadoop hadoop 154M May 20 00:00 localhost_access_log.2013-05-19.txt
-rw-r--r--. 1 hadoop hadoop 474M May 21 00:00 localhost_access_log.2013-05-20.txt
-rw-r--r--. 1 hadoop hadoop 474M May 22 00:00 localhost_access_log.2013-05-21.txt
-rw-r--r--. 1 hadoop hadoop 483M May 23 00:00 localhost_access_log.2013-05-22.txt
-rw-r--r--. 1 hadoop hadoop 437M May 24 00:00 localhost_access_log.2013-05-23.txt
3.6G .
싱글 노드에서 돌렸을 때 20:11:27~20:19:28 (8'01") 걸렸습니다. sort는 1분 이하로 걸렸습니다.
date && hadoop jar hadoop-mapreduce-examples-2.2.0.jar wordcount input output && date
part-r-00000 파일을 정렬한 linux 명령은 다음과 같습니다.
sort -r -n -k2 part-r-00000 > part-r-00000.sorted
virtualbox 가상머신에 centos 6.4 minimal 설치하고, 실행했습니다.
$ cat /proc/cpuinfo /proc/meminfo
processor : 0
model name : Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz
cache size : 6144 KB
fpu : yes
cpuid level : 5
wp : yes
bogomips : 6585.72
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
MemTotal: 1020532 kB
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_hadoop-lv_root
14G 5.4G 7.4G 43% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 485M 52M 408M 12% /boot
vi에서 붙여넣기할 때 한 줄씩 더 추가되는 경우
이런 모양으로 붙여넣어지면 당황스럽습니다.
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>unfunded,default</value>
</property>
몇 줄 안 된다면 ddjddjddj 이렇게 한 줄씩 지우겠지만, 한 줄 한 줄 지울수도 없는 상황이 있을 수 있습니다.
치환을 통해서 빈줄을 한꺼번에 없앨 수 있습니다.
:%s/\n\n/\r/g
이렇게 입력하면 아래와 같이 바뀝니다.
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>unfunded,default</value>
</property>
centos iso download
virtualbox를 이용해서 돌릴 이미지를 찾고 있습니다.
minimal로 384m 다운로드 받았습니다.
다음커뮤니케이션, 미러링 감사합니다.
http://isoredirect.centos.org/centos/6/isos/x86_64/