어떤 세미나를 준비하며...

R을 좋아하는 사람들은 그래프 하면 ggplot을 떠올린다. 웹을 좀 써야 한다면 역시 python으로 그림을 그려보겠지. 데이터를 전공한 사람으로서 사실 그래프를 그리면 BI 툴을 써야 한다고 본다. 무엇보다 빠르고 쉬우니까 ㅎㅎㅎㅎㅎㅎ 그래서 강의에서나 평소나 MS Power BI를 애용했다. 그런데... 얼마전 알게 된 사실. 그냥 장난감이구나 생각했던 Tableau Public이 훌륭하게 커서... 많은 사람들이 즐겨 쓰게 되었다는 점. 아... 시간이 참으로도 많이 흘렀구나... 데이터를 다루는 사람들마다 관점에 차이는 있을 수 있다. 내 생각에는 (예나 지금이나) 데이터 사이즈를 두고 뭔가 특별하다라고 주장하는 일은 놀랍다. 기술의 발전은 큰 데이터를 잘 다루는 방향으로 이뤄졌다. 그것은 과거 30년 전이나 지금이나 마찬가지다. 잘 다룬다는 것은 데이터를 어떻게 다루는지 몰라도 된다는 뜻이다. 2년 전 경기도 어떤 대학에서 세미나를 할 때 한 교수님이 나에게 질문을 던졌다. "Hadoop의 MapReduce는 어떻게 하는 것인가?" 적지 않게 당황했는데 왜냐하면 학부에서 빅데이터 수업을 어떻게 가르칠 것인가를 다루는 시간이었기 때문이다. 4년 전 싱가포르 국립대학에서 데이터를 다룰 때 나는 Hadoop과 기타 프로그램을 빌드업했다. 서버를 설치하고 일일이 컴파일 수행하며 여러 작은 컴퓨터를 엮어(당시에 1TB HDD가 엄청 비쌌다!) 10TB 하둡을 구축했다. 그리고 쿼리를 디자인하고 각각 Java API를 만들어 JSON 형태로 데이터를 다운로드 받을 수 있도록 했다. 그로부터 몇 달 뒤, AWS로 Hadoop을 쓸 수 있게 되었고 Java API 대신 AWS의 API로 데이터를 받았고 또한 몇 달 뒤, IBM의 CouchDB를 쓰면서 Java는 빠이빠이 되었다. 그로부터 몇 달 뒤, Google의 Cloud API 플랫폼에 데이터를 적재하고 Big Query를 쓰면서 이제는 다시 SQL로 복귀했다. 지난...

MIM 수업 학생들을 위한 FTP 사이트 오픈

xftp로 접속가능 SFTP Port:22 Host: api.rmaster.net ID와 PW는 수업시간에 공개함

수원대 경상관 suwon secure 윈도우 10 실행법

설치 파일을 받은 다음 c:\program files(x86)\BISHOP_SE 이동하여 64비트 설치 파일을 실행해야 한다.

카카오 LAMP 이용한 초간단 챗봇 만들기

카카오 플러스친구 API 만들기 PHP를 이용해서 간단한 플러스친구 챗봇을 만들어보자. https://center-pf.kakao.com/login  로긴하고 플러스 친구를 만든다. 스마트 채팅 > API형 LAMP 설정 DigitalOcean에서 계정을 만든다면 LAMP 환경을 구축한다. /etc/apache2/apache2.conf 수정하여 php extensions을 감추자. <Directory "/var/www/html/">     Options FollowSymLinks MultiViews     AllowOverride none     Order allow,deny     Allow from all </Directory> PHP 기본적으로 두 개의 파일이 필요하다. keyboard.php, message.php Keyboard.php <?php echo <<< EOD {     "type" : "buttons",     "buttons" : ["시작하기", "도움말"] } EOD; ?> Message.php <?php function call_msg($msg) {     $output = '{"message":{"text":"'.$msg.'"}}';     return $output; } $data = json_decode(file_get_contents('php://input'), true); $content = $data["content"]; if( $content == "시작하기" ) {     echo call_msg("시작해볼까?"); } //...

여러 dict 병합하기

from itertools import chain from collections import defaultdict dict1 = { 'bookA' : 1 , 'bookB' : 2 , 'bookC' : 3 } dict2 = { 'bookC' : 2 , 'bookD' : 4 , 'bookE' : 5 } dict3 = defaultdict( list ) for k, v in chain(dict1.items(), dict2.items()):      dict3[k].append(v)   for k, v in dict3.items():      print (k, v)

서정주 -편지-

내 어릴 때의 친구 순실이 생각하는가 아침 산골에 새로 나와 밀리는 밀물살 같던 우리들의 어린 날, 거기에 매어 띄웠던 그네 의 그리움을? 그리고 순실이. 시방도 당신은 가지고 있을 테지? 연약하나마 길 가득턴 그 때 그 우리의 사랑을. 그 뒤, 가냘픈 날개의 나비처럼 헤매다닌 나는 산나무에도 더러 앉았지만, 많이는 죽은 나무와 진펄에 날아 앉아서 지내왔다 순실이. 이제는 주름살도 꽤 많이 가졌을 순실이 그 잠자리같이 잘 비치는 눈을 깜박거리면서 시방은 어느 모래 사장에 앉아 그 소솔한 비취의 별빛을 펴는가. 죽은 나무에도 산 나무에도 거의 다 앉아 왔거든 난들에도 구렁에도 거의 다 앉아 왔거든 이젠 자네와 내 주름살만큼이나 많은 그 골진 사랑의 떼들을 데리고 우리 어린 날같이 다시 만나세 갓 트인 연봉우리에 낮 미린내도 실었던 우리들의 어린 날같이 다시 만나세

큰 xlsx 파일 읽기

이번 주에... xlsx 파일을 읽으려다 다음 메시지를 접했다. java.lang.OutOfMemoryError: GC overhead limit exceeded 뭐야.. ㅜ.ㅜ 대안을 찾았다. library("readxl") RStudio 사의 제니퍼 브라이언이 관리자로 되어 있다. 사용법은 간단하다. > library("readxl") > my_file = readxl::read_excel("your_excel_filename.xlsx")