2016/08 14

[04-1] Python - range 와 xrange 의 비교 및 차이점 확인

[range 함수의 기본 사용법, 순차적인 숫자를 가지는 list를 생성하는 함수][xrange 함수의 기본 사용법, 순차적인 숫자를 만들 수 있는 generator를 생성하는 클래스] 숫자의 범위를 정의하거나 사용할 때 range() 나 xrange()를 사용하게 된다. 간단한 사용 예를 보면 다음과 같다. >>> for x in range(5): ... print x ... 0 1 2 3 4 >>> for x in xrange(5): ... print x ... 0 1 2 3 4 간단한 사용법만 보면 range나 xrange나 그 용도는 별반 다른게 없어 보인다. 하지만 좀 더 깊게 보면 한가지 큰 차이점이 있는데, range의 경우 해당 api가 실행되는 순간 숫자 범위의 list를 바로 생성하는 ..

Language/Python 2016.08.11

[03-2] Python - for (반복문, Loops)

조건문과 더불어 가장 많이 쓰이는 문법으로 반복문이 있다. 말 그대로 주어진 명령을 주어진 조건이 맞지 않을 때까지 반복하는 문법이라는 뜻이다. Python에서는 여타 다른 언어들과 마찬가지로 2가지의 반복문을 제공하고 있다. [Python - for] [Python - while] for 문은 대체로 특정 횟수/주어진 sequence type 만큼 반복해야할 경우 주로 사용되는 반면, while 문은 특정 조건을 만족할 때 까지 반복해야할 경우 사용된다. 본 글에서는 for에 대해서 알아 보자. for 의 기본 문법 for 의 다양한 사용 방법 range() 의 범위만큼의 반복 중첩 반복문 (nested loops) 반복문 실행 중 중단 (Early exits) for ... else 구문 string..

Language/Python 2016.08.11

nvd3.js - 기본적인 Data Format

nvd3.js 에서 지원하는 그래프를 위해서 data는 json으로 표현된다. 이를 위한 기본적인 json format은 다음과 같다. [ { key: "Series name1", color: "CSS color", values: [ {x: 0, y: 10}, {x: 1, y: 20}, {x: 2, y: 30} .... ] }, { key: "Series name2" ... } ] key : key는 그래프의 이름이다. 예를 들어 사과의 수확량, 배의 수확량을 표현하는 그래프가 있다고 한다면 이는 서로 다른 그래프로 표현될 수 있고, 이 때 이 두 각기 다른 그래프는 서로 다른 key로 표현된다. color: 그래프의 색을 정의할 수 있다. 예를 들어 color: "#ff7f0e" 와 같이 표현 가능하다..

Language/nvd3.js 2016.08.09

[HTML/CSS] <link href> 그리고 <script src>

데이터를 시각화하기 위해 nvd3.js를 공부해보려고 한다. 그래서 tutorial을 하나씩 따라가 보려 하고 있는데, html 첫줄 부터 막히기 시작한다. 이전에는 tutorial에 tag href는 를 통해 그동안 써와서 연결할 파일의 위치를 의미하는 것은 알겠는데 link, rel 은 생소하다. 정의 The tag defines a link between a document and an external resource.http://www.w3schools.com/ 에 정의된 link tag의 설명을 보면 위와 같다. 외부의 resource와 현재 document의 연결을 정의한다. 즉, 위의 예제를 보면 현재 html과 외부의 nv.d3.css를 연결해주라는 이야기다. nv.d3.css에 정의된 s..

Language/HTML 2016.08.09

[02-4] Python - 리스트 (Lists)

Python의 리스트(List)는 값들을 순서있게 보관할 때 사용하는 자료구조이다. 리스트 표현리스트 접근리스트 수정리스트 합치기/반복하기리스트 값 추가/삽입하기 - append(), insert()리스트 값 삭제하기 - del, remove()리스트 값 정렬하기 - sort()리스트 값 순서 뒤집기 -reverse()리스트 값 인덱스 확인 - index()리스트 내 특정 값 갯수 세기 - count() 1. 리스트 표현Python 의 리스트를 한마디로 정의하자면 다양한 자료구조들의 순서 있는 나열이라고 할 수 있다. 대괄호 "[", "]" 로 둘러 쌓여 있고, 콤마 "," 로 구분한다. 간단한 예를 들어보면 다음과 같다. >>> list1 = [1,2,3,4] >>> list2 = ["1","2",3,..

Language/Python 2016.08.09

[02-1] Python - 변수 할당의 개념

python에서는 변수에 값을 할당하면 object를 생성해서 값을 해당 저장한 후 변수는 해당 object의 메모리 주소를 의미하는 id값을 가지게 된다. 1이라는 값을 가지고 있는 object(id 23282008)를 가리키는 변수를 도식화 하면 다음과 같다. [Python - id(), object의 unique 값(memory address)를 보여주는 함수] >>> a = 1 >>> id(a) 23282008 만약 같은 값을 가지게 된다면 같은 object를 가리키게 될 수도 있다. >>> a = b = 100 >>> id(a) 23283616 >>> id(b) 23283616 위 경우는 서로 다른 변수 이름을 가진 a, b이지만 id 23283616 object를 동시에 가리키고 있다. 이 상..

Language/Python 2016.08.08

[02-3] Python - 문자열 (Strings)

Python 문자열(String)은 숫자와 더불어 가장 많이 쓰이는 자료형 중에 하나이다. 문자열 표현문자열 접근문자열 수정문자열 자르기 - split()문자열 양옆 공란 지우기 - strip(), lstrip(), rstrip()문자열 합치기/반복하기 (concatenate/repeat)문자열 찾기 - find(), index()문자열 바꾸기 - replace()문자열 대/소문자 바꾸기 - upper(), lower()문자열 연결하기 - join()문자열 갯수 세기 - count() 1. 문자열 표현 문자열은 큰 따옴표 " "나 작은 따옴표 ' ' 로 표현이 가능하고 예시는 다음과 같다. >>> str1 = "I am string." >>> type(str1) >>> str2 = 'I am string..

Language/Python 2016.08.08

[02-2] Python - 숫자 (Numbers)

Python에서 숫자(Numbers) 자료형은 가장 기본이되는 자료형이다. 숫자 표현숫자 계산을 위한 연산자Type casting (형 변환)미리 메모리에 할당되어진 숫자들 (-5 ~ 256) 1. 숫자 표현 Python에서 숫자는 크게 4가지의 형태로 표현이 가능하다. int (plain integers) : 정수long (long integers) : int 보다 범위가 큰 정수float (floating point numbers) : 실수complex (complex numbers) : 복소수 [int 의 표현] 범위 : -9223372036854775808 ~ 9223372036854775807 (-sys.maxsize-1 ~ sys.maxsize) C언어의 long을 이용하여 구현된 자료형이다...

Language/Python 2016.08.07

[02-5] Python - 튜플 (tuple)

기존에 C와 Java 위주로 코딩을 하다 보니 python에서의 tuple이 새로웠다. 튜플의 정의를 알아보고 다양한 예에 대해 알아보기로 하자. 튜플(Tuple) 의 정의 A tuple is a sequence of immutable(불변의) Python objects. 위와 같이 python의 tuple은 python에서 사용가능한 object의 수정 불가능한 나열이라고 정의가 가능하다. python의 list와 매우 유사하지만 포함된 object의 수정이 불가능하다는 점, 튜플은 괄호 "(", ")"로 표현되는 반면 리스트는 대괄호 "[", "]" 로 표현된다는 점이 다르다. (참고로 괄호 없이 콤마 "," 로만도 튜플의 표현이 가능하다.) 좀 더 상세한 사용 예에 대해 알아보자. 튜플의 표현 # ..

Language/Python 2016.08.07

Linux/Ubuntu, Samba 설정하기.

Windows 와 Linux 간에 파일을 공유하기 위해서는 흔히 Samba 를 사용하곤 한다. Linux에서 Samba를 설정하여 Windows 에서 해당 Samba를 사용하는 방법에 대해 UI를 이용한 설정 위주로 정리해 보았다. 대상 OS는 Ubuntu 16.04, Windows 10 를 기준으로 하였지만, 버전이 조금 다르다고 해서 큰 차이는 없다. Samba 의 설정 on [Linux]1. samba, system-config-samba 를 설치 한다. (root 권한 필요) samba를 설치하게 되면 samba의 기본이 되는 smbd를 포함하여 각종 의존성이 걸린 package들을 자동으로 설치하게 된다. # apt-get install samba system-config-samba 는 samb..

OS/Linux 2016.08.04

VirtualBox, 멀티코어 설정하기. (다중 CPU)

Virtualbox내 설치한 Ubuntu에서 코드를 컴파일할 일이 있었다. 가상 머신이라는 점은 고려하였지만 그래도 그 컴파일 성능이 생각보다 너무 느린 것만 같았다. 혹시나 해서 Ubuntu 내에서 CPU Core가 몇 개가 잡혀있는지 확인해 보니, 하나 밖에 설정이 되어 있지 않았다. (별다른 설정을 하지 않았다면 하나의 CPU만 인식이 된다.) # cat /proc/cpuinfo 위와 같이 하나의 CPU만 잡혀 있다. 가상 머신에서 하나 이상의 CPU를 인식해 보자. Virtualbox 멀티 코어 설정 1. 설정하고자 하는 가상 머신을 선택 한 뒤 [머신] > [설정] 을 실행한다. 2. 설정 메뉴 내에서 "시스템" > "프로세서" 탭을 선택해 보면 프로세서 개수를 선택할 수 있다. 해당 virtu..

VirtualBox, 듀얼 혹은 다중 모니터 사용하기

기존에 2대의 모니터를 가지고 있는 상황에서 Virtualbox를 사용한다면 virtualbox 또한 여러 모니터에 걸쳐 사용하고 싶은 경우가 있을 것이다. Virtualbox는 기본적으로 하나의 모니터만 지원하도록 설정되어 있기 때문에 다중 모니터를 지원할 수 있도록 설정을 바꾸어보도록 하자 기본적으로 진행하기 전에 게스트 확장 CD 이미지"를 설치해 놓아야 한다. VirtualBox, 자유롭게 화면해상도 조절하기 위 글을 참고하여 게스트 확장 CD 이미지 설치가 완료 되었다면 이후 과정은 다음과 같이 진행하면 된다. 듀얼 혹은 다중 모니터를 위한 설정 변경 [virtualbox 설정] 1. 듀얼 혹은 다중 모니터를 설정하고 싶은 가상 머신을 선택한다. 2. [머신] > [설정] 을 선택한다. 3. [..

VirtualBox, 가상머신 VM 내보내기, 복제, 그리고 스냅샷

Virtualbox를 통해 OS를 설정하고 사용하다 보면 OS 설치 직후의 시점으로 다시 돌아가고 싶을 때가 종종 있곤한다. 나같은 경우 특정 프로그램의 설치에 관한 글을 쓰는 경우가 있는데, 이 프로그램을 설치하기 전에 어떤 프로그램들을 설치했었는지, 어떤 설정을 바꾸었었는지 오랫동안 OS를 사용하다보면 도무지 그 과정이 정리가 되지 않는다. 이런 경우 OS 설치 직후로 돌아가고 싶은 생각이 들곤한다. Virtualbox에 설치한 OS는 File로된 이미지 형태이기 때문에 특정 시점을 저장하고 싶은 경우 원하는 시점의 이미지를 백업해 놓으면 되는 것으로 두리뭉실하게만 알고 있었다. (딱히 해본적은 없었다.) 이에 이번 기회에 유사 기능들을 정리해 보았다. 메뉴를 보다보면 가상머신 이미지를 백업해 놓을 ..

[03-1] Python - if (조건문)

코딩에 있어 가장 기본적인 문법 중 하나로 언어 마다 조금씩 사용법이 다르기 때문에 그 사용 방법에 대해 잘 이해하고 있어야 한다. if 구문 기본 사용법한 줄 (One line) 조건문의 특별한 사용조건 type에 따른 if 구문의 사용if 구문에서 boolean 조건if 구문에서 숫자 조건if 구문에서 문자열 조건is 와 == 차이if 구문 관련 error 1. if 구문 기본 사용법if 조건문1: 실행문1-1 실행문1-2 .... elif 조건문2: 실행문2-1 실행문2-2 .... else: 실행문 3-1 실행문 3-2 ... 주의해야할 점 if, elif, else 구문 제일 마지막에는 : (콜론)을 붙여주어야 한다. 실행문 작성시에는 들여쓰기(indent)를 꼭 해야한다. 일상 생활에서의 예와..

Language/Python 2016.08.01