프로그래밍 Programming
아파치 동시 접속자수 확인하기 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 ~]#
Data Preparation (20) - Review (전체코드)
2014. 12. 9.R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"Copyright (C) 2014 The R Foundation for Statistical ComputingPlatform: i386-w64-mingw32/i386 (32-bit) R is free software and comes with ABSOLUTELY NO WARRANTY.You are welcome to redistribute it under certain conditions.Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors.Type 'contributors()'..
Data Preparation (19) - Prepare (Save Dataset)
2014. 12. 9.다음과 같이 이상 살펴봤던 데이터세트를 저장할 수 있다.> paste0("_", format(Sys.Date(), "%y%m%d")) // paste = concatenate 와 같이 문자열을 합쳐준다[1] "_141206"> dsdate paste0(dsname, dsdate, ".RData")[1] "weather_141206.RData"> dsrdata save(ds, dsname, dspath, dsdate, target, risk, id, ignore, vars, nobs, omit, inputi, inputc, numi, numc, cati, catc, file=dsrdata) 이후 해당 데이터세트를 로딩은 다음과 같이 한다.> (load(dsrdata))[1] "ds" "dsname" "ds..
Data Preparation (18) - Prepare (Numeric and Categoric Variables)
2014. 12. 6.numeric, categoric 변수에 대한 확인도 필요하다. 여기서는 numeric, categoric 모두 이름과 인덱스를 통해 확인한다. 인덱스를 사용하는 것은 해당 데이터세트내에 변수를 항상 일정한 순서로 배열하며, 모든 변수가 존재한다고 가정해야함을 의미한다. > which(sapply(ds, is.numeric)) min_temp max_temp rainfall evaporation 3 4 5 6 sunshine wind_gust_speed wind_speed_9am wind_speed_3pm 7 9 12 13 humidity_9am humidity_3pm pressure_9am pressure_3pm 14 15 16 17 cloud_9am cloud_3pm temp_9am temp_3pm ..
Data Preparation (17) - Prepare (Variables)
2014. 12. 6.모델링에 사용할 변수를 확정할 준비가 끝났다.앞서 이미 변수의 역할에 대해서는 정의가 끝났고, 이제 모델링하고자하는 것들만 고르면 된다.투입될 변수부터 시작하는데, 인풋 변수를 문자(변수의 이름)나 정수(변수의 인덱스)의 벡터로 정의한다. > inputc inputc [1] "min_temp" "max_temp" "rainfall" [4] "evaporation" "sunshine" "wind_gust_dir" [7] "wind_gust_speed" "wind_dir_9am" "wind_dir_3pm" [10] "wind_speed_9am" "wind_speed_3pm" "humidity_9am" [13] "humidity_3pm" "pressure_3pm" "cloud_9am" [16] "cloud_3..
Data Preparation (10) - Clean (Identify Correlated Variables)
2014. 12. 6.> sapply(ds, is.numeric) date location min_temp max_temp rainfall FALSE FALSE TRUE TRUE TRUE evaporation sunshine wind_gust_dir wind_gust_speed wind_dir_9am TRUE TRUE FALSE TRUE FALSE wind_dir_3pm wind_speed_9am wind_speed_3pm humidity_9am humidity_3pm FALSE TRUE TRUE TRUE TRUE pressure_9am pressure_3pm cloud_9am cloud_3pm temp_9am TRUE TRUE TRUE TRUE TRUE temp_3pm rain_today risk_mm rain_tomorr..
Data Preparation (16) - Clean (Ensure Target is Categoric)
2014. 12. 6.타겟의 카테고리 여부 확인하기 > target[1] "rain_tomorrow"> ds[[target]] [1] Yes Yes Yes Yes No No No No Yes No No No No No No No Yes No [19] No No No Yes No No No No No No No Yes Yes No Yes No No No [37] Yes No No No No No No No Yes Yes No No Yes Yes Yes Yes No Yes [55] No No Yes No No No No No No No No No No No No No No No [73] Yes No No No Yes No Yes Yes No No No No No No No No No No [91] Yes Yes No No Yes..