프로그래밍 Programming
[django] Django 설치하기
2015. 7. 11.장고(django) 프레임워크를 이용하기 위해서는 먼저 파이썬이 설치되어 있어야 한다. 그러므로 먼저 파이썬 설치 여부를 확인해본 후, 필요하다면 아래와 같이 설치하도록 한다. 1. Python 설치 1) 설치 위치 확인 root@seoul:~# which python /usr/bin/python 2) 파이썬 버전 확인 root@seoul:~# python -V Python 2.7.3 3) 파이썬이 설치되어 있지 않다면 아래에서 다운로드하여 설치한다. https://www.python.org/download/ 4) 정상적으로 설치되었는지는 아래와 같이 확인한다. root@seoul:~# python Python 2.7.3 (default, Dec 18 2014, 19:10:20) [GCC 4.6.3] o..
[django] Django 설치하기
2015. 6. 13. 장고(django) 프레임워크를 이용하기 위해서는 먼저 파이썬이 설치되어 있어야 한다. 그러므로 먼저 파이썬 설치 여부를 확인해본 후, 필요하다면 아래와 같이 설치하도록 한다. 1. Python 설치 1) 설치 위치 확인 root@seoul:~# which python /usr/bin/python 2) 파이썬 버전 확인 root@seoul:~# python -V Python 2.7.3 3) 파이썬이 설치되어 있지 않다면 아래에서 다운로드하여 설치한다. https://www.python.org/download/ 4) 정상적으로 설치되었는지는 아래와 같이 확인한다. root@seoul:~# python Python 2.7.3 (default, Dec 18 2014, 19:10:20) [GCC 4...
numpy - Arrays (9) (Vector and matrix mathematics)
2015. 4. 16.Vector and matrix mathematics 벡터의 내적(dot product) 계산>>> a = np.array([[0,1],[2,3]], float)>>> b = np.array([2,3], float)>>> c = np.array([[1,1],[4,0]], float)>>> aarray([[ 0., 1.], [ 2., 3.]])>>> np.dot(b,a)array([ 6., 11.])>>> np.dot(a,b)array([ 3., 13.])>>> np.dot(a,c)array([[ 4., 0.], [ 14., 2.]])>>> np.dot(c,a)array([[ 2., 4.], [ 0., 4.]])>>> inner product, outer product, cross product 의 계산>..
numpy - Arrays (8) (ArrayArray item selection and manipulation)
2015. 4. 11.Array item selection and manipulation Boolean array 의 array selectors 로의 활용 >>> a = np.array([[6,4],[5,9]], float) >>> print a [[ 6. 4.] [ 5. 9.]] >>> a >= 6# Boolean array 는 array selectors 로 사용가능하다 array([[ True, False], [False, True]], dtype=bool)# True인 원소만 반환 >>> a[a>=6] array([ 6., 9.]) Integer arrays의 사용 >>> a = np.array([2,4,6,8], float) >>> b = np.array([0,0,1,3,2,1], int) >>> print a [..
numpy - Arrays (7) (Comparison operators and value testing)
2015. 4. 11.Comparison operators and value testing 동일한 사이즈의 배열에서 원소 단위로 비교 가능반환값은 True/False 이며, 결과값은 배열은 저장가능 >>> a=np.array([1,3,0], float) >>> b=np.array([0,3,2], float) >>> a > b array([ True, False, False], dtype=bool)>>> a == b array([False, True, False], dtype=bool) >>> a >> c = a>b >>> c array([ True, False, False], dtype=bool) >>> broadcasting 을 통해 단일값과도 비교 가능 >>> a = np.array([1,3,0], float) >>> a..
Apache Worker MPM 과 Prefork MPM(Multi-Processing Module)
2015. 3. 14.MPM(Multi-Processing Module) apache 가 받아 들인 요청을 처리 하기 위해 'child processes'에게 분배하는 방식으로, Prefork MPM 과 Worker MPM 의 2가지 방식이 있다. 이 두가지의 차이점은 간단히 다음과 같다. Prefork MPM 은 하나의 쓰레드를 가진 다수의 child process 를 사용한다. 그리고 각각의 프로세스가 하나의 커넥션을 담당한다. 이에 반해 Worker MPM 은 다수의 쓰레드를 지닌 다수의 child processes 를 사용하며, 각각의 쓰레드가 하나의 커넥션을 핸들링한다. 대부분의 시스템에서는 prefor 방식이 좀 더 많은 메모리를 사용한다. 트래픽이 많은 웹사이트의 경우, 메모리 사용량 면에서 worker 방식..
아파치 동시 접속자수 확인하기 Get the number of concurrent users in Apache
2015. 3. 10.아파치 동시 접속자수 확인하기 [root@www ~]# netstat -nap | grep ESTABLISHED | wc -l 194
numpy - Arrays (4) (Array iteration)
2015. 3. 8.Array iteration list 와 유사한 방식으로 배열에 대해 반복이 가능하다 >>> a = np.array([1, 4, 5], int) >>> for x in a: ... print x ... 1 4 5 다차원 배열의 경우 >>> a = np.array([[1, 2], [3, 4], [5, 6]], float) >>> for x in a: ... print x ... [ 1. 2.] [ 3. 4.] [ 5. 6.] 곱하기 연산도 가능 >>> a = np.array([[1, 2], [3, 4], [5, 6]], float) >>> for (x, y) in a: ... print x * y ... 2.0 12.0 30.0
python print x IndentationError
2015. 3. 8.파이썬은 블럭을 정의하기 위해 들여쓰기(Indentation)을 사용한다. 무슨 말이냐 하면, 어느 부분이 for 문 또는 if 문에 의해 컨트롤되는지를 보여주기위한 것이다. 들여쓴 부분은 해당 문에 의해 컨트롤됨을의미한다. 아래와 같은 for 문이 그러한 경우로, 이 경우에는 그저 print x 를 부분을 for 문보다 안으로 들여쓰기만 하면 되는 것이다.
numpy - Arrays (4) (Array mathematics)
2015. 2. 28.Array mathematics 기본적인 수학 연산이 가능합니다. 이 경우 원소 대 원소로 적용이 됩니다. 즉, 더하기, 빼기 등의 연산은 기본적으로 같이 사이즈여야 한다는 것이죠. >>> a = np.array([1,2,3], float) >>> b = np.array([5,2,6], float) >>> a + b array([6., 4., 9.]) >>> a – b array([-4., 0., -3.]) >>> a * b array([5., 4., 18.]) >>> b / a array([5., 1., 2.]) >>> a % b array([1., 0., 3.]) >>> b**a array([5., 4., 216.]) 2차원 array 에서 곱하기 연산은 행렬곱을 따르는 것이 아니라 원소 단위로 이루..
numpy - Arrays (3) (Array를 만드는 다른 방법들)
2015. 2. 28.Other ways to create arrays arange >>> np.arange(5, dtype=float) array([ 0., 1., 2., 3., 4.]) >>> np.arange(1, 6, 2, dtype=int) array([1, 3, 5]) zeros / ones 0 또는 1 을 가진 특정 dimension 의 array 생성 >>> np.ones((2,3), dtype=float) array([[ 1., 1., 1.], [ 1., 1., 1.]]) >>> np.zeros(7, dtype=int) array([0, 0, 0, 0, 0, 0, 0]) zeros_like / ones_like 현존하는 array 와 동일한 dimension 과 데이터 타입을 가지는 0 또는 1 로 이루어진 ..
numpy - Arrays (2)
2015. 2. 26.copy copy 함수를 통해 새로운 array 생성 가능 >>> a = np.array([1,2,3], float) >>> b = a >>> c = a.copy() >>> a array([ 1., 2., 3.]) >>> b array([ 1., 2., 3.]) >>> c array([ 1., 2., 3.]) tolist array 로부터 list 생성 가능 >>> a = np.array([1, 2, 3], float) >>> a.tolist() [1.0, 2.0, 3.0] >>> list(a) [1.0, 2.0, 3.0] tostring / fromstring tostring 함수(binary 문자열로 변환)와 fromsrting 함수(역으로 binary 에서 array 생성) 대량의 array 데이터..
numpy - Arrays (1)
2015. 2. 26.Array Python 의 리스트와 유사한 개념 하지만 array 의 구성요소는 모두 동일한 데이터 타입이어야 한다는 점이 다름 importing NumPy >>> import numpy as np 버전 확인 >>> numpy.version.full_version '1.9.1' Array 기본 구조 (1) >>> a = np.array([1,4,5,8], float) // 2개의 인수를 가짐. 두번째 인수는 데이터타입 >>> a array([ 1., 4., 5., 8.]) >>> type(a) // N-dimensional array >>> a[:2] array([ 1., 4.]) >>> a[3] 8.0 >>> a[0] = 5. >>> a array([ 5., 4., 5., 8.]) Array 기본 구조..
sqlalchemy - group by 를 이용한 결과 표현
2015. 2. 13.sum, max 등 group by 를 이용한 결과를 표현할 때 a.py q = session.query( included_parts.c.sub_part, func.sum(included_parts.c.quantity).label('total_quantity') ).\ group_by(included_parts.c.sub_part)a.html {% for record in records %} {{ loop.index }} {{ record.included_parts.c.sub_part}} {{ record.total_quantity}} {% endfor %} 참조 : http://docs.sqlalchemy.org/en/rel_0_7/orm/query.html
구글 맵 Google Maps (4) - 실시간 데이터를 활용한 지도 그리기 (히트맵 Heatmap 의 적용)
2015. 1. 23.Heatmap은 각 진원지에 아이콘을 표시하기보다 색상과 도형을 사용하여 데이터의 분포를 나타내는 것으로 아래에서 빨간색은 지진 활동이 활발한 지역을 나타낸다. Heatmap을 표시하기 위해 HeatmapLayer 클래스를 포함하는 visualization 라이브러리를 사용합니다. 라이브러리를 사용하는 경우, Maps API 자바스크립트가 호출되면 라이브러리를 로드해야 합니다. function initialize() { var mapOptions = { zoom: 2, center: new google.maps.LatLng(2.8,-187.3), mapTypeId: google.maps.MapTypeId.TERRAIN }; map = new google.maps.Map(document.getElement..
구글 맵 Google Maps (3) - 실시간 데이터를 활용한 지도 그리기 (지진 강도에 따라 커지는 원)
2015. 1. 22.앞에서 다룬 소스를 일부 수정하여 기본 아이콘 이외의 방법으로 실시간 진원지 정보를 표현해보자. 지진의 진도에 따라 커지는 원을 표현해보자.이는 아래 소스에서 보듯이 icon: getCircle(earthquake.properties.mag) 을 이용하여 표현할 수 있다.
구글 맵 Google Maps (2) - 실시간 데이터를 활용한 지도 그리기
2015. 1. 22.이제 실시간으로 데이터를 전송받아 지도에 마킹하는 방법을 알아보자.아래는 USGS(미지질조사국)의 실시간 지진데이터를 받아 각각의 진원지에 기본 아이콘을 표시해주는 소스다.
구글 맵 Google Maps (1) - 기본 맵 그리기
2015. 1. 22.아래는 특정 지역의 지도를 나타내는 가장 간단한 형태의 html 파일이다. 위도, 경도 값은 아래의 사이트를 통해서 구할 수 있다.http://mygeoposition.com/
phpliteadmin 에서 sqlite3 alter table 에러날 때
2015. 1. 17.phpliteadmin 을 이용해서 생성된 테이블에 대해 컬럼 추가나 변경 등의 alter table 명령을 실행하면 아래와 같이 에러메시지를 출력한다. 이 경우에는 하단에서 보는 바와 같이 putty 등의 툴을 이용해서 명령을 실행한다.해당 데이터베이스가 있는 디렉토리로 이동하여 sqlite3 명령을 실행한 후 alter table photos add major VARCHAR(100): 과 같이 실행.
우분투(Ubuntu)에서 아파치(apache2) 실행하기
2015. 1. 15.root@gcloud-seoul:~# sudo -s // sudo 는 substitute user do (다른 사용자의 권한으로 명령을 이행하라는 뜻이다)의 줄임말이다 sudo: unable to resolve host gcloud-seoul root@gcloud-seoul:~# sudo vim /etc/hosts // 호스트네임을 gcloud-seoul 으로 맞춰준다 root@gcloud-seoul:~# sudo -s root@gcloud-seoul:~# sudo service apache2 restart * Restarting web server apache2 ... waiting [ OK ] root@gcloud-seoul:~#
_imaging.c:75:20: fatal error: Python.h: 그런 파일이나 디렉터리가 없습니다 (pip install PIL)
2015. 1. 15.root@gcloud:~# pip install PIL _imaging.c:75:20: fatal error: Python.h: 그런 파일이나 디렉터리가 없습니다 root@gcloud:~# sudo apt-get install python2.7-dev
[파이썬/기초] 물건을 만들려면 재료와 도구가 필요하다 - 데이터와 함수, 메소드
2015. 1. 9.물건을 만들려면 재료와 도구가 필요하다. 1. 재료 = 데이터 1) 데이터(재료)에는 다양한 종류가 있다 = 데이터의 형(型) ← 재료를 종류별로 나누어 적합한 도구를 사용하는 편이 편리2) 기본재료와 응응재료 (1) 기본재료 = 내장데이터 = 정수, 문자열, 실수, 부울, 리스트 등 → import 로 모듈을 읽어들일 필요가 없다 (2) 응용재료3) 변수 = 재료에 이름붙이기(알파벳, 숫자, 언더스코어) 2. 도구 = 함수 등1) 함수(인수) = 반환값2) 메소드 = 각각의 데이터형이 지닌 전용함수(특정 데이터에만 존재하는 함수, 못 ↔ 쇠망치, 나사 ↔ 드라이버) 3. 사물의 상하관계1) 재료와 도구를 함께 생각하기 = 도구(메소드)도 세트로 되어 있다 문자열형⇔과일형 [데이터] ⇔ [재료] 'Seo..
컴퓨터 부팅시 '삐~~~ 삐삐삐' 소리가 난다면
2014. 12. 27.컴퓨터를 켰을 때 다음과 같은 소리가 나면서 부팅이 되지 않을 때 먼저, 삐~~~ 삐삐삐 이렇게 길게 한번 짧게 여러번 울리는 경우에라면 그래픽카드의 정상 작동 여부를 의심해야 한다. 그래픽 카드가 제대로 끼워져 있는지를 확인하고 (이 때 먼지제거도 같이 해주고) 다시 켜본다. 마찬가지 소리가 난다면 그래픽 카드가 고장난 것이다. 그 외에 삐~~~ 삐~~~ 삐~~~ 와 같이 길게 반복되는 경우는 램이 제대로 꽂혀있지 않을 경우가 많다. 이 경우 램을 다시 꾹 눌러서 제대로 꽂아준다.
[웹사이트 만들기] (4) 블로그 만들기 - install Homebrew / Easy-Install (Homebrew /Easy-Install 설치하기)
2014. 12. 24.Ubuntu 에서 Homebrew 설치하기 1. Ruby 프로그램부터 설치한다 sudo apt-get install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev 2. Homebrew 설치 ruby -e "$(wget -O- https://raw.github.com/Homebrew/linuxbrew/go/install)"아래와 같은 메시지가 출력되는 경우 다음과 같이 한다. 1) Don't run this as root!말 그대로 root 계정이 아닌 다른 계정을 추가하여 해당 계정으로 설치하면 된다.useradd 로 계정 추가한 뒤, 해당 계정으로 H..
우분투Ubuntu 터미널 색상 변경(putty 색상변경)
2014. 12. 23.putty 의 경우 ls -al 명령을 실행시켜보면 디렉토리명의 색이 파란색으로 표시되어 눈에 잘 띄지 않는다. 해당 설정의 변경은 change settings... > Window > Colours 에서 가능하나, 여기서 변경되는 사항은 재접속시 원래의 설정으로 돌아온다는 단점이 있다. ~/.bashrc 파일을 변경함으로써 재접속시에도 동일 설정을 유지할 수 있도록 해보자. dircolors >> ~/.bashrc 실행 후bashrc 파일을 열어보면 하단에 아래와 같이 LS_COLORS 값 설정 라인이 있다.여기서 디렉토리를 나타내는 di 값을 원하는 색상 값으로 변경해주면 된다.현재 값은 34, 즉 파랑으로 되어 있음을 알 수 있다. 변경 후 화면 모습이다. 훨씬 눈에 잘 들어옴을 알 수 있다. 색상..
리눅스linux 버전 확인 명령어
2014. 12. 11.[root@jpalace /]# uname -aLinux lms.kais.co.kr 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 i386 GNU/Linux[root@jpalace /]# uname -r2.4.20-8smp[root@jpalace /]# cat /proc/versionLinux version 2.4.20-8smp (bhcompile@porky.devel.redhat.com) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #1 SMP Thu Mar 13 17:45:54 EST 2003[root@jpalace /]# cat /etc/issueRed Hat Linux release 9 (S..
[웹사이트 만들기] (3) 블로그 만들기 Building our Blog
2014. 12. 10.디렉토리 및 프로젝트 생성[root@lms data]# mkdir project[root@lms data]# cd project[root@lms project]# django-admin.py startproject Jbin[root@lms project]# cd Jbin[root@lms Jbin]# ls -al▒հ▒ 24drwxr-xr-x 2 root root 4096 12▒▒ 10 17:58 .drwxr-xr-x 3 root root 4096 12▒▒ 10 17:58 ..-rw-r--r-- 1 root root 0 12▒▒ 10 17:58 __init__.py-rw-r--r-- 1 root root 503 12▒▒ 10 17:58 manage.py-rw-r--r-- 1 root root 5027 12▒..
[웹사이트 만들기] (2) Django 설치 Installing django
2014. 12. 10.https://www.djangoproject.com [Complete Installation Guide]https://docs.djangoproject.com/en/1.7/topics/install/ Django 설치[root@jpalace root]# wget http://www.djangoproject.com/download/1.3.1/tarball/[root@jpalace root]# tar xzvf Django-1.3.1.tar.gz[root@jpalace root]# cd Django-1.3.1[root@jpalace root]# python setup.py install설치된 버전 확인[root@jpalace data]# pythonPython 2.7 (r27:82500, Dec 10 201..
[웹사이트 만들기] (1) 파이썬Python 설치(2.7 버전으로 업그레이드)
2014. 12. 10.설치된 버전을 확인힌다.[root@jpalace root]# python[root@jpalace root]# Python 2.2.2 (#1, Feb 24 2003, 19:13:11) // 버전 2.2.2 가 설치되어 있다[GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-4)] on linux2Type "help", "copyright", "credits" or "license" for more information.파이썬 2.7을 다운로드하여 설치한다[root@jpalace root]# wget http://python.org/ftp/python/2.7/Python-2.7.tgz[root@jpalace root]# tar xzf Python-2.7.tgz[root@jpalace r..
아파치apache 버전 확인 방법
2014. 12. 10.설치된 아파치의 버전을 알고 싶으면 다음과 같이 한다. 설치된 경로가 다르므로 아래와 같이 아파치 실행 경로를 확인한 후 -v 옵션으로 버전 확인 [root@dbserver ~]# ps -ef | grep httpd // 실행되고 있는 아파치 확인apache 1735 4954 0 Dec07 ? 00:00:00 /usr/sbin/httpd // 아파치 경로 확인root 4954 1 0 Jun20 ? 00:00:01 /usr/sbin/httpd[root@dbserver ~]# /usr/sbin/httpd -vServer version: Apache/2.0.52Server built: Jan 30 2007 09:56:53[root@dbserver ~]#