IT·컴퓨터
엑셀 복소수 연산 함수 (엑셀을 이용한 허수 계산)
2015. 4. 17.복소수 연산을 위해서는 아래와 같이 추가기능에 분석도구를 선택해서 사용가능하게 해두어야 한다. 복소수 관련 주요 함수는 다음과 같다. 함수 함수의 기능 COMPLEX(a,b) a + i b 형태의 복소수 생성 IMABS(z) 복소수 z의 절대값 계산 IMSUM(a, b) 두 복소수의 합 계산 IMSUB(a,b) 두 복소수의 차 계산 IMPRODUCT(a,b) 두 복소수의 곱 계산 (최대 255개까지) IMDIV(a,b)두 복소수이 나눗셈의 몫 반환 IMREAL(z) 복소수 z의 실수부 반환 IMAGINARY(z) 복소수 z의 허수부 반환 예제. 3+4i, 2-i 에 대해 위의 함수를 적용해보면 다음과 같다 imsum 두 복소수의 합 반환 =IMSUM(A6,B6)=5+3i imsub 두 복소수의 차 반환 ..
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 [..
구글 스프레드시트를 이용한 [성적관리시스템] 만들기 (1) - 입력 데이터 목록 만들기, 학생명단 만들기
2015. 3. 14.구글 스프레드시트를 이용하여 간단한 성적관리 프로그램을 만들어보자. 먼저 필요한 화면들을 생각해보자. 1) 데이터 입력 : 학생명단 입력, 시험 생성, 성적입력 등 2) 목록관리 : 데이터의 일관성을 확보하기 위해 별도 시트에서 입력되는 데이터의 목록을 관리한다. 3) 결과 분석 : 반별 성적표, 개인별 성적표, 반별 비교 등 그럼 본격적인 작업을 위해 구글 문서편집기로 이동한다. https://docs.google.com/spreadsheets/u/0/ 위의 링크로 들어가 하단의 + 아이콘을 클릭하면 아래와 같이 새로운 스프레드 시트가 열린다. 목록을 만들자 먼저 만들 것은 다음과 같이 목록의 내용이다. 이는 일관된 데이터의 사용을 위함이다. 예를 들면, 어떤 학생은 자신의 출신학교를 '한국대'라..
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
python print x IndentationError
2015. 3. 8.파이썬은 블럭을 정의하기 위해 들여쓰기(Indentation)을 사용한다. 무슨 말이냐 하면, 어느 부분이 for 문 또는 if 문에 의해 컨트롤되는지를 보여주기위한 것이다. 들여쓴 부분은 해당 문에 의해 컨트롤됨을의미한다. 아래와 같은 for 문이 그러한 경우로, 이 경우에는 그저 print x 를 부분을 for 문보다 안으로 들여쓰기만 하면 되는 것이다.
페이스북 월간 사용자수 및 동시접속자수 (2014년 4분기 기준)
2015. 2. 28.페이스북 이용자수는 얼마나 될까? 2012년 active user 가 10억명을 넘어선 이래로 작년 4분기에는 13억 9천만명에 육박했습니다. 여기서 말하는 active user 란 지난 30일안에 로그인한 기록이 있는 사용자를 말합니다. 자료출처 : http://www.statista.com/statistics/264810/number-of-monthly-active-facebook-users-worldwide/ 그럼 페이스북 동시접속자수는 얼마나 될까? 보통 "Active Last Minute" user 또는 AML 이라고 부르는데, 그것은 해당 서비스를 사용중인 동시 접속자의 규모를 판단하는 기준이 되는 수치다. 정확한 수치는 발표되지 않았지만 관련 자료를 통해서 살펴보자. 페이스북 뉴스룸 자료에..
오라클 자격증 업그레이드 안내 메일을 받았습니다 (Oracle Database 10g Administrator OCP 2016년 3월 1일 retire)
2015. 2. 27.새로운 자격증 정책에 따라 이전 버전의 Oracle Database 자격증 소지자는 아래와 같이 업그레이드를 하라는 메일을 받았습니다. 기한 2016년 3월 1일 이전입니다. 저같은 경우는 Oracle Database 10g Administrator Certified Professional 인데 업그레이드 시험을 통해 Oracle Database 12c Administrator Certified Professional 으로 업그레이드가 가능하다고 합니다. 업그레이드 시험은 1Z0-060 pgrade to Oracle Database 12c 하나의 시험만 보면 되고, 필수 이수 교육은 없습니다. https://blogs.oracle.com/certification/entry/0856_18 Upgrade ..
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 기본 구조..
무료원격지원툴 'Chrome 원격데스크톱'
2015. 2. 17.컴퓨터 사용시 장애 사항이 있지만 그 해결방법을 명확히 모르는 경우 다른 분으로부터 도움을 받고 싶다면 무료로 이용가능한 원격지원 툴인 을 이용해보시기 바립니다. 설치에 앞서 기본적으로 크롬 브라우저가 설치되어 있어야 하며, 구글 계정을 가지고 있어야 합니다. 1. 아래와 같이 Chrome 웹스토어(https://chrome.google.com/webstore/category/apps?hl=ko) 에 접속 후 '원격 데스크톱'이라고 검새한 후 설치합니다. 2. 다른 사용자가 자신의 컴퓨터에 접속해서 제어가능하도록 [공유]를 허용합니다. 3. 호스트 설치 프로그램이 필요합니다. 해당 프로그램을 아래와 같이 설치한 후 확인 버튼을 누르세요. 4. 아래와 같이 뜨는 12자리 인증코드를 상대방에게 알려주면 됩니..
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): 과 같이 실행.
[파이썬/기초] 물건을 만들려면 재료와 도구가 필요하다 - 데이터와 함수, 메소드
2015. 1. 9.물건을 만들려면 재료와 도구가 필요하다. 1. 재료 = 데이터 1) 데이터(재료)에는 다양한 종류가 있다 = 데이터의 형(型) ← 재료를 종류별로 나누어 적합한 도구를 사용하는 편이 편리2) 기본재료와 응응재료 (1) 기본재료 = 내장데이터 = 정수, 문자열, 실수, 부울, 리스트 등 → import 로 모듈을 읽어들일 필요가 없다 (2) 응용재료3) 변수 = 재료에 이름붙이기(알파벳, 숫자, 언더스코어) 2. 도구 = 함수 등1) 함수(인수) = 반환값2) 메소드 = 각각의 데이터형이 지닌 전용함수(특정 데이터에만 존재하는 함수, 못 ↔ 쇠망치, 나사 ↔ 드라이버) 3. 사물의 상하관계1) 재료와 도구를 함께 생각하기 = 도구(메소드)도 세트로 되어 있다 문자열형⇔과일형 [데이터] ⇔ [재료] 'Seo..
컴퓨터 부팅시 '삐~~~ 삐삐삐' 소리가 난다면
2014. 12. 27.컴퓨터를 켰을 때 다음과 같은 소리가 나면서 부팅이 되지 않을 때 먼저, 삐~~~ 삐삐삐 이렇게 길게 한번 짧게 여러번 울리는 경우에라면 그래픽카드의 정상 작동 여부를 의심해야 한다. 그래픽 카드가 제대로 끼워져 있는지를 확인하고 (이 때 먼지제거도 같이 해주고) 다시 켜본다. 마찬가지 소리가 난다면 그래픽 카드가 고장난 것이다. 그 외에 삐~~~ 삐~~~ 삐~~~ 와 같이 길게 반복되는 경우는 램이 제대로 꽂혀있지 않을 경우가 많다. 이 경우 램을 다시 꾹 눌러서 제대로 꽂아준다.
우분투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..