본문 바로가기

전체 글418

Elements of Programming - Coursera 강의 ppt 번역 Elements of Programming 대다수의 중요한 programming 언어에서는 아래의 요소들을 제공한다. - 가장 단순한 element를 표현할 수 있는 기본 표현법- 표현을 결합하기 위한 방법들- 추상 표현을 하기 위한 방법들 The Read-Eval-Print Loop Functional programming은 계산기의 사용과 약간 비슷하다. interactive shell(REPL )은 표현을 쓰고 값을 리턴할 수 있게 해준다.Scala REPL은 단순하게 타이핑 함으로써 시작할 수 있다. > scala Expressions 아래 예제는 REPL을 이용하여 interaction하는 단순한 방법이다. scala> 87 + 145232 Functional programming languag.. 2015. 12. 23.
Functional Programming Principles in Scala - Coursera 강의 ppt 번역 Programming Paradigms Paradigm : 과학적으로 paradigm은 구별된 개념 또는 몇몇의 과학적 규율 내에서의 생각의 패턴등을 말한다.주요 programming paradigms은 - imperative programming- functional programming- logic programming 을 들 수가 있으며, 이와는 독립적으로 - object-oriented programming 을 들 수가 있다. Review: Imperative programming - 변수를 수정할 수가 있다.- 값을 대입한다.- if-then-else나 loops, break, continue, return 등과 같은 제어 로직을 사용한다. imperative program의 대표적인 예로 Vo.. 2015. 12. 22.
[SPARK] word count (pyspark) 이번에는 spark를 이용하여 word count를 해보려고 한다. 참고 reference는 아래와 같다. http://nbviewer.ipython.org/github/spark-mooc/mooc-setup/blob/master/lab1_word_count_student.ipynb#-(4f)-Count-the-words- 기본적인 개요는 아래와 같다. 1. base RDD와 pair RDD 만들기 2. pair RDD counting 하기 3. 단어 개수 세기와 평균 값 구하기. 4. 파일을 읽어서 word count 하기 1. base RDD와 pair RDD 만들기 아래와 같이 base RDD를 만들어 본다. from pyspark import SparkContext sc = SparkContext.. 2015. 11. 25.
[SPARK] tutorial (pyspark) Apache Spark with the Python http://nbviewer.ipython.org/github/spark-mooc/mooc-setup/blob/master/spark_tutorial_student.ipynb 사이트에 있는 내용을 번역함. Spark Context - spark에서 통신은 driver와 executor 사이에서 발생한다. driver는 실행에 필요한 spark job들을 가지고 있으며, 이러한 spark job들은 executor에서 실행되기 위해 task 단위로 쪼개진다. - spark와 API를 사용하기 위해서는 SparkContext 사용이 필요하다. SparkContext가 생성되면, 마스터에게 동작 가능한 core들을 요청한다. 마스터가 동작 가능한 core들을.. 2015. 11. 24.
[SPARK] docker로 스파크 설치하기 (우분투 14.04) DOCKER를 이용해서 우분투 14.04 환경에서 SPARK를 설치해보자. (이게 가장 쉬우니깐..) https://hub.docker.com/r/jupyter/all-spark-notebook/ DOCKER HUB에서 위의 사이트 이미지가 spark 사용하기에는 가장 적합한 것 같다. (ipython notebook도 설치 되어 있고, scala, python2, python3 모두 연결되어 있음) 아래 명령어로 docker hub에서 이미지를 가져온다. $> sudo docker pull jupyter/all-spark-notebook 위의 명령어를 실행하면 아래와 같이 이미지를 다운받고 extract 하는 과정을 볼 수가 있다. image 다운이 다 되었으면, 아래의 명령어를 통해 다운 받은 ima.. 2015. 11. 23.
awk와 uniq로 중복 제거하기 아래와 같은 포멧의 test.txt 파일을 ip별로 파싱해서 unique 한 ip 개수를 확인해야 하는 업무가 주어졌다. 사용자 ip - 메시지 uniq를 쓰면 중복 라인을 제거할 수는 있지만, 사용자 ip만 중복을 제거한 후 그 개수를 세어야 했기 때문에 awk를 사용해보았다. (awk는 잘 사용안하는 경향이 있던 나..) awk 사용은 아래와 같이 진행 $> awk 'BEGIN {FS="-"} {print $1}' test.txt 위의 명령어를 해석하자면 test.txt 파일의 필드 구분자 -를 라인별로 파싱해서 파싱한 첫번째 단어를 출력하라가 된다.위와 같이 명령어를 치면 '사용자 ip - 메시지' 중에서 '사용자 ip'만 출력이 된다.만약 print $2를 준다면 '메시지'가 출력될 것이다. 그 .. 2015. 11. 10.
[Django] Django와 apache 연동하기 [우분투] Django에서 apache 서버를 웹서버로 연동하기 위해서는 mod_wsgi라는 것을 설치해야 한다. wsgi란 Web Server Gateway Interface의 약자로써 웹서버와 웹어플리케이션 간의 인터페이스를 제공해 주는 프레임워크이다.여기서는 apache 서버와 Django 간의 인터페이스를 담당한다.물론 wsgi 설정 없이 Django 자체 웹서버를 이용해도 되긴 하지만, 아무래도 Django 자체 웹서버는 불안한 면이 있기 때문에 apache 서버를 이용해 보기로 한다. 우선 아파치 설치.$> sudo apt-get install apache2 아파치 설치가 완료되었으면 이제 mod-wsgi 설치 (python3 같은 경우에는 libapache2-mod-wsgi-py3를 깔아야 한다고 한다.. 2015. 10. 28.
[Django] DEBUG = False 설정 시 Bad Request 발생 오랜만에 Django 설정을 다시 하게 되었다. Django 설치를 다 하고 settings.py 설정 중, Debug 옵션이 True로 되어 있길래 False로 바꿔주고 Django 실행! 헉... Bad Request 가 발생한다. 이게 무슨 일이지???? 열심히 구글링... 역시 stackoverflow는 날 배신하지 않는다. http://stackoverflow.com/questions/19875789/django-gives-bad-request-400-when-debug-false ALLOWED_HOST 설정을 all로 해주어야 host 접근이 가능하다는 소리이다. 아래와 같이 설정해 주면 더이상 bad request가 발생하지 않는다.ALLOWED_HOSTS = ['*'] '근데 왜 DEBUG.. 2015. 10. 28.
우분투 Some index files failed to download 에러 우분투 14.04 서버가 새로 도착하여 깔끔하게 apt-get update를 진행하려고 하는데 자꾸 아래와 같은 에러 메시지가 발생한다. Some index files failed to download. They have been ignored, or old ones used instead. 열심히 구글링을 해본 결과.. http://kr.archieve.ubuntu.com 서버가 이상하니 http://ftp.daum.net으로 변경하라는 글을 확인..당장 실행에 옮겼다.일단 /etc/apt 폴더 안에 있는 sources.list 파일을 연 후, kr.archieve.ubuntu.com 주소를 ftp.daum.net으로 바꿔준다. $> sudo vi /etc/apt/sources.listsources.l.. 2015. 10. 28.