반응형

개발자의 평생공부

[임백준 칼럼] 실력은 고통의 총합이다


http://www.zdnet.co.kr/column/column_view.asp?artice_id=20170616090644&lo=z46


평생 공부하는 건 개발자만이 아니다. 다른 직업을 가진 사람들도 쉼 없이 공부하고, 컨퍼런스와 세미나를 참가하고, 스터디를 한다. 공부없이 할 수 있는 일이 없기 때문이다. 언뜻 보기에 공부와 거리가 멀어 보이는 바텐더조차 공부할 것이 많다. 바텐더를 위한 컨퍼런스는 물론이고 전문적인 팟캐스트 방송까지 있다. 공부는 누구나 하는 것이므로 공부한다는 사실만으로 엄살을 떨 필요는 없다. 문제는 공부의 방향이다.

개발자의 경우는 평균적으로 보았을 때 3년 전에 학습한 지식이면 낡은 징후를 보이기 시작하고 5년이면 생명을 다한다. 더 오래가는 지식도 물론 있다. 프로그래밍의 본질에 가까운 지식은 수명이 오래가고 파편적인 지식일수록 수명이 짧다. 그래서 본질을 추구하며 에피파니(Epiphany)를 경험한 사람은 그렇지 않은 사람에 비해서 공부로 인한 스트레스를 덜 받는다. 중요한 것과 중요하지 않은 것을 구별하는 혜안이 있기 때문이다.

두 사람의 개발자가 있다고 하자. 한 사람은 최신 트렌드에 밝다. 아마존 람다를 이용해서 서버리스 시스템을 구축하고, 코세라 강의를 들으며 머신러닝을 공부한다. 페이스북에서 친구들이 공유하는 새로운 도구를 건드려보며 지식을 확장하고, 컨퍼런스와 스터디를 참석하여 동기를 부여 받는다. 함수형 언어를 학습하고, 새로운 파이썬 라이브러리도 사용하고, 리액트와 앵귤러로 코드를 짜서 웹사이트도 구축해본다. 부지런하다.

다른 한 사람은 최신 트렌드에 관심이 없다. 대신 회사에서 주어지는 요구사항을 날카롭게 분석하고, 꼼꼼한 설계과정을 거쳐서 코드를 작성하고, 정밀하게 테스트하고, 출시가 성공적으로 끝나면 다음 요구사항을 읽는다. 20년째 한 언어를 사용해서 코딩을 하고 있으며 다른 언어나 플랫폼에 대해서 관심이 없다. 하지만 그의 추상은 도메인주도 개발이나 디자인 패턴을 기계적으로 적용하는 수준을 뛰어넘는다. 요구사항을 코드로 바꾸는 과정에서 필요한 추상을 스스로 만들어내고 새로운 구조물의 상호작용, 데이터의 무결성, 성능 등을 빈틈없이 사고한다. 철두철미하다.

회사에서 새로 만들어야 하는 중요한 소프트웨어 제품이 있다고 하자. 이 제품을 잘 설계해서 정해진 시간 안에 출시함으로써 회사의 비즈니스에 결정적인 도움을 주어야 하는 상황이다. 이런 상황이라면 둘 중 누구에게 일을 맡길 것인가? 아이디어의 타당성을 검증하는 POC(Proof of Concept) 프로젝트나 단순한 R&D 업무라면 최신 트렌드에 밝은 사람을 고려할 수 있을 것이다. 하지만 비즈니스의 성공과 직결되는 실전이라면 그럴 수 없다. 실전이 필요로 하는 사람은 두 번째 유형이다. 그가 가진 능력이 프로그래밍의 본질에 더 가깝기 때문이다. (첫 번째 사람이 두 번째 사람이 가진 능력까지 가지고 있다면 이야기는 달라진다.)

개발자가 공부하는 것은 그래서 두 번째 유형의 사람이 가진 능력, 본질적인 능력을 키우는 것을 의미한다. 프로그래밍의 본질은 문제의 해결이다. 트렌드를 좇는 것은 파편적인 지식을 획득하는 것에 불과하기 때문에 큰 의미가 없다. 페이스북이나 트위터의 타임라인을 보면 수만가지 새로운 기술과 도구가 날마다 쏟아진다. 좋은 개발자라면 그런 것들을 모두 알아야 하는가? 전혀 그렇지 않다. 파편적인 지식은 파편적인 태도만으로 충분하다. 트렌드에 필요한 것은 가벼운 눈팅이지 공부가 아니다. 공부는 본질에 다가서려는 노력이다.

나는 프로그래머다 컨퍼런스에서 한 참석자가 ‘실력을 키우려면 어떻게 해야하는가’라는 질문을 한 적이 있다. 나는 그때 실력이 무엇을 의미하는지부터 생각해보자고 대답했다. 우리는 종종 실력을 이미 알고 있는 지식의 총량으로 착각한다. 실력과 지식의 총량은 희미한 상관관계가 있기는 하지만 사실상 무관하다. 진짜 실력은 임기응변이기 때문이다. 실력은 주변상황에 휘둘리지 않는 집중력이다. 해결해야 하는 문제가 무엇인지 알아채는 감각이다. 처음 본 문제를 해결하는 능력이다. 이러한 임기응변, 집중력, 감각, 그리고 능력은 이미 알고있는 지식으로부터 나오는 것이 아니다. 그것은 본질에 다가가기 위해서 감내해온 고통, 불면의 밤, 좌절, 환희, 이런 것으로 점철된 뜨거운 경험에서 나오는 것이다. 


그래서 실력은 지식의 총합이 아니다. 

고통의 총합이다.

여러분이 페이스북 타임라인을 보다가 누가 공유한 새로운 기술에 대한 링크를 저장했다고 하자. 영원히 볼 일이 없는 글을 저장하는 행위는 쇼핑몰 사이트에서 위시리스트나 보관함에 마음에 드는 상품을 담는 심리와 정확히 일치한다. 즉, 그것은 공부가 아니라 쇼핑이다. 쇼핑과 눈팅이 자체로 의미없는 일은 아니지만 그걸 공부로 착각하는 사람은 파편적인 지식의 늪에서 빠져나오기 어려울 것이다.

개발자에게 공부가 무엇을 의미하는지 알아보았으니 어떻게 공부해야 하는지에 대해서도 잠깐 짚어보자. 지면관계상 짧은 아포리즘 형식으로 나열해 보았다.

1. 지금 다니고 있는 회사에서 하는 일을 잘하기 위해서 노력하는 것이 가장 좋은 공부다.


2. 회사에서 하는 일과 개인적으로 공부하는 내용을 최대한 근접시키기 위해서 노력하라.


3. 새로운 기술을 익히는 최선의 방법은 스스로 문제를 정의한 다음, 새로운 기술을 이용해서 그 문제를 풀어보는 것이다. 책을 읽거나 동영상을 보는 것은 그보다 하위수준의 방법이다.


4. 신기술을 좇는 메뚜기가 되지 말라.


5. 모든 것을 알아야 한다는 강박을 버려라. 미리 획득하는 지식의 99%는 무용지물이다. 필요할 때 필요한 기술을 익힐 수 있는 것이 능력이다. 그 능력을 키워라.


6. 이상한 나라의 앨리스에 나오는 토끼굴(rabbit hole)을 피하라. 카테고리이론을 알아야 함수형 언어를 쓸 수 있는게 아니고, 선형대수학을 공부해야 머신러닝을 할 수 있는게 아니다. 토끼굴에 빠져서 한없이 들어가다보면 비본질적인 공부에 시간을 허비하게 된다.


7. 겉만 핥는 것은 경박하지만 토끼굴에 빠지는 것은 우매하다. 둘 사이의 적당한 지점에서 균형을 잡는 것이 개발자의 능력이다.


8. 머리에 들어오지 않는 어려운 개념이나 용어는 자투리 시간을 이용해서 반복적으로 읽고 암기하라. 나중에 큰 그림을 공부할 때 도움이 된다.


9. 항상 겸손해야 하지만 동시에 자긍심을 가져라. 그대가 지금 작성한 코드, 지금 읽은 책, 지금 공부한 내용을 그대보다 잘 아는 사람은 지구상에 없다. 모든걸 알고 있는 것처럼 보이는 다른 사람들도 그대와 마찬가지로 불안해하고, 위축되고, 두려워하면서 살아가고 있다. 자긍심이란 그런 타인을 돕고자 하는 마음가짐의 다른 이름이다.


10. 혼자 하지 말고 함께 공부하라.

이 시점에서 가슴에 손을 얹고 스스로 질문해보기 바란다. 공부가 재밌는가? 정말 재밌는가? 새로운 기술을 익히고, 키보드를 두드리고, 결과를 확인하고, 친구들과 이야기하는 모든 경험이 그대를 행복하게 만드는가? 이 질문에 대한 대답이 예스라면, 그 예스의 강도만큼 그대의 미래는 성공이 보장되어 있는 것이다. 그러므로 개발자는 미래에 대해 불안해할 필요가 없다. 미래의 성공은 예스라는 작은 변수의 함수이기 때문이다. 그 변수는 개발자 자신의 손에 놓여 있다.





.

반응형
반응형

[python] konlpy 하다가 그래프에 한글 안나올때, 어제는 안되고 오늘은 되네.


https://www.lucypark.kr/courses/2015-dm/text-mining.html


맥북에서 그래프에 한글 계속 안나오다가, 오늘 해보니까 또 나오네. 뭔 조화인가? 오타인가? 



Troubleshooting: For those who see rectangles instead of letters in the saved plot file, include the following configurations before drawing the plot:

from matplotlib import font_manager, rc
font_fname = 'c:/windows/fonts/gulim.ttc'     # A font of your choice
font_name = font_manager.FontProperties(fname=font_fname).get_name()
rc('font', family=font_name)

Some example fonts:

  • Mac OS: /Library/Fonts/AppleGothic.ttf








.

반응형
반응형
자유, 평등, 박애 그리고 지금, “연결되지 않을 권리.” – <워싱턴포스트>

연결되지 않을 권리의 법제화는 한국에서도 시급해 보인다. 한국은 프랑스보다 노동환경이 열악하다. 프랑스는 주 35시간 노동제를 도입했지만 한국은 주 40시간으로 규정된 법정근로시간조차 제대로 지켜지지 않고 있다. 한국의 평균 노동시간(2015년 기준 연간 2113시간)은 경제협력개발기구(OECD) 중 멕시코에 이어 두 번째로 길다. 장시간 노동은 ‘카카오톡’ 등 SNS를 통해 극대화되고 있다.

한국노동연구원이 2016년 발표한 자료에 따르면 전체 노동자 10명 중 7명이 퇴근 후에도 스마트폰 등으로 업무를 하는 것으로 나타났다. 평일에는 평균 86.24분 더 일했고, 휴일에는 95.96분 일했다. 업무시간 이외에도 스마트기기를 통한 노동시간이 주당 11시간(677분)이 넘는 셈이다.

한국의 노동환경은 카카오톡 등 SNS를 통해 시·공간을 넘어 확장된다. ‘단체카톡방(단톡방)’을 통한 상사의 지시는 노동자를 ‘SNS 사무실’에 가둔다. 이에 따라 한국에서도 ‘연결되지 않을 권리’에 대한 논의가 활발해지고 있다. 지나친 업무 스트레스라는 입장과 사규 정도로 정하면 될 악습을 굳이 법으로 규제하는 것은 지나치다는 입장으로 찬반이 갈리기도 하지만, 대체로 연결되지 않을 권리에 대해 우호적인 반응을 보이고 있다.

한국언론진흥재단 미디어연구센터가 직장인 1천명을 대상으로 실시한 조사 결과에 따르면 응답자의 대다수인 86.6%가 연결되지 않을 권리를 인정하거나 존중하는 것으로 나타났다. 법제화·내규화로 명시해야 한다는 의견에 찬성한 비율도 85%나 된다. 이런 여론에 힘입어 연결되지 않을 권리 관련 법안과 정책도 논의되고 있다.

2016년 6월22일 신경민 더불어민주당 의원 대표 발의로 연결되지 않을 권리를 명시한 근로기준법 개정안이 발의됐다. 근로시간 이외에 전화, 문자 메시지, SNS 등 각종 통신수단을 이용해 업무 지시를 못하게 하는 내용을 담았다. 이 법안은 국회 환경노동위에 계류 중이다. 제19대 대통령선거 과정에서 바른정당 유승민 후보는 ‘퇴근 후 SNS 업무지시 제한’을 주요 공약으로 발표하기도 했다.

연결에서 벗어나기 위한 ‘세컨드폰’

법과 제도가 바뀌는 데는 시간이 걸린다. 개인적 차원에서 연결에서 벗어나기 위한 움직임도 있다. 그 가운데 하나가‘세컨드폰’이다. 퇴근 후 스마트폰을 통한 연결에서 벗어나기 위해 최근 젊은층 사이에서는 세컨드폰이 인기를 끌고 있다. 스마트기기를 통한 연결로부터 사생활을 간섭받지 않기 위한 목적으로 기존에 사용하는 스마트폰 이외에 다른 휴대폰을 사용하는 것이다.

세컨드폰을 사용하는 데는 두 가지 방법이 있다. ‘알뜰폰’ 등 중저가 휴대폰을 추가로 사는 방법과, 단말기 하나로 2개의 전화번호를 사용하는 방법이다. 즉, 세컨드폰은 공적인 용도의 휴대폰과 사적인 용도의 휴대폰을 구분해, 사생활을 침범하는 ‘연결’에서 벗어난 물리적 환경을 만드는 방식으로 연결되지 않을 권리를 실현한다.

의도적으로 기능을 최소화한 휴대폰도 출시되고 있다. ‘더라이트폰(The Light Phone)’은 통화 기능만 탑재한 휴대폰이다. 크라우드펀딩 서비스 ‘킥스타터’를 통해 2015년 처음 선보였다. 현재는 투자에 참여하지 않은 사람도 더라이트폰을 구매할 수 있다. 더라이트폰 측은 “더 많은 ‘연결’이 우리를 더 행복하게 만들 수 없다”라고 통화만 가능한 휴대폰을 만든 배경을 밝혔다.

신용카드 크기만한 더라이트폰의 기능은 단순하다. 전화를 받고 거는 것과 시간을 확인하는 기능만 들어 있다. 전화번호도 최대 9개까지만 저장할 수 있다. 문자나 이메일도 확인할 수 없다. 블루투스 기능 역시 빠졌으며, 스마트폰과 연동되지도 않는다. ‘세컨드폰’인 더라이트폰은 잠시나마 스마트폰으로부터 떨어진 환경을 제공하기 위해 기획됐다.

더라이트폰 측은 “기술은 우리를 노예화하지 않고 우리에게 봉사해야 한다”라며 “우리는 반기술을 지향하지 않는다. 우리는 인간을 지향하며 우리의 삶을 되찾고자 한다”라고 자신들의 홈페이지를 통해 전했다. 흰색과 검은색 두 색상으로 판매되는 더라이트폰은 현재 미국에서만 사용할 수 있다.


.

반응형
반응형

파이썬으로 영어와 한국어 텍스트 다루기

https://www.lucypark.kr/courses/2015-dm/text-mining.html




문서 전처리


https://datascienceschool.net/view-notebook/3e7aadbf88ed4f0d87a76f9ddc925d69/



모든 데이터 분석 모형은 숫자로 구성된 고정 차원 벡터를 독립 변수로 하고 있으므로 문서(document)를 분석을 하는 경우에도 숫자로 구성된 특징 벡터(feature vector)를 문서로부터 추출하는 과정이 필요하다. 이러한 과정을 문서 전처리(document preprocessing)라고 한다.


BOW (Bag of Words) 


문서를 숫자 벡터로 변환하는 가장 기본적인 방법은 BOW (Bag of Words) 이다. BOW 방법에서는 전체 문서  {D1,D2,…,Dn}{D1,D2,…,Dn}  를 구성하는 고정된 단어장(vocabulary)  {W1,W2,…,Wm}{W1,W2,…,Wm}  를 만들고  DiDi 라는 개별 문서에 단어장에 해당하는 단어들이 포함되어 있는지를 표시하는 방법이다.


 만약 단어 Wj가 문서Di 안에 있으면 ,→xij=1

 만약 단어 Wj가 문서Di 안에 있으면 ,→xij=1

 

Scikit-Learn 의 문서 전처리 기능 


Scikit-Learn 의 feature_extraction.text 서브 패키지는 다음과 같은 문서 전처리용 클래스를 제공한다.


CountVectorizer:

    문서 집합으로부터 단어의 수를 세어 카운트 행렬을 만든다.

TfidfVectorizer:

    문서 집합으로부터 단어의 수를 세고 TF-IDF 방식으로 단어의 가중치를 조정한 카운트 행렬을 만든다.

HashingVectorizer:

    hashing trick 을 사용하여 빠르게 카운트 행렬을 만든다.


from sklearn.feature_extraction.text import CountVectorizer

corpus = [

    'This is the first document.',

    'This is the second second document.',

    'And the third one.',

    'Is this the first document?',

    'The last document?',    

]

vect = CountVectorizer()

vect.fit(corpus)

vect.vocabulary_


반응형
반응형

konlpy 한국어 처리 패키지 


https://datascienceschool.net/view-notebook/70ce46db4ced4a999c6ec349df0f4eb0/



konlpy는 한국어 정보처리를 위한 파이썬 패키지이다.


http://konlpy.org/ko/latest/

https://github.com/konlpy/konlpy

konlpy는 다음과 같은 다양한 형태소 분석, 태깅 라이브러리를 파이썬에서 쉽게 사용할 수 있도록 모아놓았다.


Kkma

http://kkma.snu.ac.kr/

Hannanum

http://semanticweb.kaist.ac.kr/hannanum/

Twitter

https://github.com/twitter/twitter-korean-text/

Komoran

http://www.shineware.co.kr/?page_id=835

Mecab

https://bitbucket.org/eunjeon/mecab-ko-dic

konlpy 는 다음과 같은 기능을 제공한다.


한국어 corpus

한국어 처리 유틸리티

형태소 분석 및 품사 태깅



한국어 corpus


 - 예문 호출, 파일리스트 

from konlpy.corpus import kolaw  

kolaw.fileids()


c = kolaw.open('constitution.txt').read()

print(c[:100])


from konlpy.corpus import kobill

kobill.fileids()


d = kobill.open('1809890.txt').read()

print(d[:100])



한국어 처리 유틸리티

konlpy에는 유니코드 한글 문자열이 리스트나 딕셔너리의 내부에 있을 때도 한글 글자 모양을 정상적으로 보여주는 pprint 유틸리티 함수를 제공한다.


x = [u"한글", {u"한글 키": [u"한글 밸류1", u"한글 밸류2"]}]

print(x)


from konlpy.utils import pprint

pprint(x)



형태소 분석 

konlpy는 tag 서브패키지에서 형태소 분석을 위한 5개의 클래스를 제공한다.


Kkma

Hannanum

Twitter

Komoran

Mecab


이 클래스는 다음과 같은 메서드를 대부분 제공한다.


morphs : 형태소 추출

nouns : 명사 추출

pos : pos 태깅



from konlpy.tag import *

hannanum = Hannanum()

kkma = Kkma()

twitter = Twitter()


명사 추출 

문자열에서 명사만 추출하려면 noun 명령을 사용한다.


pprint(hannanum.nouns(c[:65]))

pprint(kkma.nouns(c[:65]))

pprint(twitter.nouns(c[:65]))


형태소 추출 

명사 뿐 아니라 모든 품사의 형태소를 알아내려면 morphs라는 명령을 사용한다.


pprint(hannanum.morphs(c[:65]))

pprint(kkma.morphs(c[:65]))

pprint(twitter.morphs(c[:65]))



품사 태깅 

pos 명령을 사용하면 품사(POS)가 붙어있는(tagging) 형태로 형태소 분석을 한다. 다만 이 때 출력되는 품사의 정의 및 기호는 형태소 분석기 마다 다르므로 각 형태소 분석기에 대한 문서를 찾아봐야 한다.


다음은 많이 쓰이는 형태소 분석기의 품사 기호를 비교한 자료이다.


Korean POS tags comparison chart : https://docs.google.com/spreadsheets/d/1OGAjUvalBuX-oZvZ_-9tEfYD2gQe7hTGsgUpiiBSXI8/edit#gid=0


pprint(hannanum.pos(c[:65]))

pprint(kkma.pos(c[:65]))

pprint(twitter.pos(c[:65]))



반응형
반응형

[Python] 그래프에서 한글 깨질때


bar 차트를 그리기 위해서 먼저 필요한 모듈을 import합니다. matplotlib.pyplot과 numpy 모듈은 기존에도 자주 사용했지만 font_manager와 rc 모듈은 처음으로 import하는 모듈입니다. 해당 모듈은 그래프를 그릴 때 한글 폰트를 설정하기 위해 사용합니다.

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import font_manager, rc

그림 15.23을 참조하면 업종명이 한글로 출력됨을 확인할 수 있습니다. matplotlib는 한글 폰트를 설정해주지 않으면 기본적으로 한글이 제대로 출력되지 않습니다. 따라서 데이터에 한글이 포함되어 있다면 다음과 같이 사용할 한글 폰트를 설정해줘야 한글이 정상적으로 출력됩니다.

font_name = font_manager.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name()
rc('font', family=font_name)

폰트를 설정하기 위해서는 폰트 이름을 알아야 합니다. 윈도우 7부터는 '맑은 고딕'이라는 폰트가 기본 폰트로 사용되고 있기 때문에, 본 예제에서는 'c:/Windows/Fonts/malgun.ttf'라는 경로를 사용했습니다. 폰트의 설치 경로로부터 폰트 이름을 먼저 알아낸 후 rc 함수를 통해서 폰트를 설정했습니다.






.

반응형
반응형

Lightning-fast cluster computing


Apache Spark™ is a fast and general engine for large-scale data processing.


Spark Overview

Apache Spark is a fast and general-purpose cluster computing system. It provides high-level APIs in Java, Scala, Python and R, and an optimized engine that supports general execution graphs. It also supports a rich set of higher-level tools including Spark SQL for SQL and structured data processing, MLlib for machine learning, GraphX for graph processing, and Spark Streaming.

Downloading

Get Spark from the downloads page of the project website. This documentation is for Spark version 2.1.1. Spark uses Hadoop’s client libraries for HDFS and YARN. Downloads are pre-packaged for a handful of popular Hadoop versions. Users can also download a “Hadoop free” binary and run Spark with any Hadoop version by augmenting Spark’s classpath. Scala and Java users can include Spark in their projects using its maven cooridnates and in the future Python users can also install Spark from PyPI.

If you’d like to build Spark from source, visit Building Spark.

Spark runs on both Windows and UNIX-like systems (e.g. Linux, Mac OS). It’s easy to run locally on one machine — all you need is to have javainstalled on your system PATH, or the JAVA_HOME environment variable pointing to a Java installation.

Spark runs on Java 7+, Python 2.6+/3.4+ and R 3.1+. For the Scala API, Spark 2.1.1 uses Scala 2.11. You will need to use a compatible Scala version (2.11.x).

Note that support for Java 7 and Python 2.6 are deprecated as of Spark 2.0.0, and support for Scala 2.10 and versions of Hadoop before 2.6 are deprecated as of Spark 2.1.0, and may be removed in Spark 2.2.0.










.

반응형
반응형

[MAC] Mac OS 10.12.5 에서 python 웹브라우저 호출하는데 open location 메세지를 인식못한다고 할때.


KoNLPy 예제 중 워드클라우드 하는데 http://konlpy.org/ko/latest/examples/wordcloud/ 

자꾸 에러발생, 

뭔가 했더니 이미지는 만들어 졌는데, 브라우저 호출이 안됨. 

뭔가 버그인듯. 


터미널에서 실행해봄. 

브라우저 지정하면 나오긴 하는데, .py 파일로 샐행하면 삼천포로 빠짐.



>>> import webbrowser as wb

>>> b = wb.get(None)

>>> 

>>> b.open('http://www.google.com')

0:37: execution error: "http://www.google.com"이(가) ‘open location’ 메시지를 인식하지 못합니다. (-1708)

False

>>> b = wb.get("Safari")

>>> b.open('http://www.google.com')

True

>>> b = wb.get("Chrome")

>>> b.open('http://www.google.com')

True

>>> 



mac에서 폰트 안되서 폰트 설치하고, pytagcloud의  font.json도 변경하고 해서 어렵사리 뛰웠더니 이미지 안나오는 줄 알고 상심, 근데 알고보니 브라우저를 못찾는 거였음, 피곤. 


기존 설치된 pytagcloud의 font.json 을 확인해야함. 폰트파일은 있는데 font.json에 설정안되있어서 


def draw_cloud(tags, filename, fontname='Noto Sans CJK', size=(800, 600)): 에서 자꾸 에러남. 


워드클라우드 처음하는 거면 http://konlpy.org/ko/latest/examples/wordcloud/ 페이지에서 주석 이라고 되어있는 부분의 링크는 다 들어가서 설치하는게 좋음. 


pip install pygame

pip install simplejson




.

반응형

+ Recent posts