프로그래밍 Programming
오라클 잡 스케줄링 dbms_job.submit
2014. 9. 5.dbms_job.submit 을 통해 일정 간격이나 특정 시간대에 프로시져를 실행할 수 있다. 1. 현재 돌아가고 있는 잡을 확인합니다. SELECT * FROM DBA_JOBS; 2. 다음과 같이 Job 을 등록할 수 있습니다. 1) 코드 예시 DECLARE X NUMBER; BEGIN SYS.DBMS_JOB.SUBMIT ( X Job 넘버 (식별자) ,'SMIS.proc_daily_stat_ins;' 주기적으로 실행할 프로시져 또는 패키지이름 ,to_date('05-09-2014 13:08:00','dd/mm/yyyy hh24:mi:ss') 다음 번 Job 수행시간 ,'SYSDATE + 30/1440' Job 수행 주기 ,TRUE ); SYS.DBMS_OUTPUT.PUT_LINE('Job Number..
리눅스Linux 시간 수동 설정 (date, hwclock)
2014. 9. 5.1. 시간 확인 하드웨어상 시간과 소프트웨어(Operating System)상의 시간으로 구분할 수 있다. OS 시간은 하드웨어 시간에 종속됨(OS가 재부팅할 때마다 하드웨어상의 시간을 가져옴) 1) 하드웨어 시간 확인 [root@server ~]# hwclock -r Fri Sep 5 11:04:22 2014 -0.038974 seconds 2) 소프트웨어 시간 확인 [root@server ~]# date Fri Sep 5 10:51:58 KST 2014 보다시피 상당히 차이가 난다. 2. 시간 변경 1) 먼저 국가별 현재 시간 확인 http://phone.chol.com/intro/nation_time.htm 2) 시간 수동으로 변경 [root@server ~]# date -s "2014-09-05..
R 프로그래밍 - Functions (Custom)
2014. 8. 30.이번에는 R 에 내장된 함수가 아닌 사용자가 사용을 위해 만든 커스토마이징된 함수를 활용하는 방법에 대한 것이다. 커스토마이징된 함수를 이용하기 위해서는 콘솔과 스크립트창을 모두 사용할 수 있지만, 스크립트창을 이용하는게 좀 더 편리하다. 스크립트창은 File > New script 를 이용해서 띄운다. 아래의 예제를 해당 창에 넣어보자. doubledip doubledip(5,-2) [1] 1.778279 > 주의해야할 점은 plot() 이나 c() 처럼 내장된 함수의 이름으로 저장해서는 안된다는 것이다. 내장된 함수의 이름과 동일한지를 확인하기 위해서는 간단히 콘솔창에서 이름을 쳐보면 된다. 또 하나 주의해야할 점은 커스톰 함수를 사용한 후 워크스페이스를 저장하지 않는다면 해당 함수를 사용하기 위해 ..
R 프로그래밍 - Functions (Built in)
2014. 8. 29.내장함수 1. 도움말 보기 1) 해당 함수를 타이핑하면 R 콘솔상에서 해당 함수가 입력값을 어떻게 처리하는지를 간단하게 보여준다. > plot 2) 내장된 도움말 기능을 이용하기 위해서는 해당 함수 앞에 ? 를 붙여 타이핑하면 된다. > ?plotplot() 함수를 어떻게 사용해야하는지에 대한 상세한 설명이 포함된 도움말 파일이 로딩된다. 2. 유용한 함수들함수명기능예제결과값abs()절대값 표시abs(-1)[1] 1sqrt()양의 제곱근 표시sqrt(c(2,4))[1] 1.414214 2.000000source()해당 파일의 스크립트 실행source("nameofmyscript.r")콘솔상에서 스크립트 명령 실행됨seq()수열생성 seq(시작값,끝값, 반복주기)seq(0, 8 ,2)[1] 0 2 4 6 ..
R 프로그래밍 - Types of Output / Exporting Data
2014. 8. 29.1. Types of Output Types of InputTypes of Output delineated files(.csv) delineated files R object (.rdata) R object (.rdata) graphical output (.pdf, .jpg, .png, .bmp, .tiff) 2. How to export data write.csv() : .csv 형태로 저장하기 위한 함수(사용되는 파라메터는 read.csv() 와 동일함) 예를 들어보면, > printvector1 = 1:10 > write.csv(printvector1, file="myfirstoutput.csv") // 데이터, 파일네임순 > getwd()[1] "C:/Users/fukaeri/Documents" ..
R 프로그래밍 - Plotting Data : Additions
2014. 8. 16.이번에는 기존 그래프에 선과 점을 추가하는 방법을 알아봅니다. 먼저 예제로 사용할 그래프를 하나 만든다 > plotvector3 = 1:9 > plotvector4 = c(1, 3, 6, 2, 7, 5, 5, 3, 1) > plot(plotvector3, plotvector4) 1. 선 그리기 점사이를 이을 때는 lines() 함수를 이용한다. > lines(plotvector3, plotvector4) 수직선이나 수평선을 긋고 싶을 때는 abline() 함수를 이용한다. > abline(coef = c(1, 1), v = 3, h = 5) coef : (절편, 기울기) 특정 v : x축 좌표와 교차하는 수직선 h : y축 좌표와 교차하는 수평선 2. 점 넣기 아래와 같이 point() 함수..
R 프로그래밍 - Plotting Data : Box Plots
2014. 8. 16.Box Plots은 이상치(outlier)를 비롯하여 4분위를 이용해 값들의 분포 양상을 보여준다. 생성은 boxplot() 명령어로 한다. > par(cex = .6) > boxplot(proteinconc) cex : 좌표내 텍스트의 크기 값 설정하는 옵션 전체를 4등분하여 박스 아랫값은 25% 지점을, 가운데 진한 검정라인은 50% 지점을, 그리고 박스 상단은 75% 지점을 나타낸다. 그리고 IQR(Interquartile Range) = Upper Quartile - Lower Quartile 를 나타낸다. Whiskers는 Lower Quartile - 이상치를 제외한 최소값 또는 이상치를 제외한 최대값 - Upper Quartile 를 나타낸다. Outliers(이상치, 극단치) 는 그림에서 ..
R 프로그래밍 - Plotting Data : Histograms
2014. 8. 14.R에서 히스토그램을 만들때는 hist() 명령어를 이용한다. > hist(proteinconc[,1], main = colnames(proteinconc)[1], xlab ="Concentration") plot() 명령어에서 쓸 수 있는 파라메터의 대부분은 hist() 에서도 활용가능하다. 위에서 보듯이 "main", colnames(), "xlab" 과 같이 말이다. 하지만 hist() 자체가 가지고 있는 특별한 파라메터들도 있다. 다음을 보자. > par(mfrow=c(1,2), cex=.75) > hist(proteinconc[,1], breaks = 50) > hist(proteinconc[,1], breaks = c(0, .5, .7, .8, .9, 1)) 파라메터 "breaks"를 두 가..
R 프로그래밍 - Plotting Data (좌표로 나타내기) : Dot plot(점도표)
2014. 8. 9.Dot plot(점도표)은 plot() 함수를 통해서 호출되는데, 같은 길이의 두 개의 벡터를 처리하고 좌표로 나타낸다. 첫 번째 벡터는 x축에, 두 번재 벡터는 y축에 대응된다. > plotvector1 = 1:9 > plot(plotvector1, plotvector1) 위의 명령을 실행하면 새로운 창이 뜨면서 도표가 표시되는데 이 창은 plotting window 이고 좌표가 표시되는 창이다. 만약 아래와 같이 새로운 명령을 실행하면 이전의 도표는 없어지고 새로운 도표로 대체된다. > plotvector2 = 9:1 > plot(plotvector1,plotvector2) 새로운 도표창을 여는 명령어는 다음과 같다. 아래 명령어를 실행하면 기존 창 옆에 R Graphics: Device 3 (ACT..
R 프로그래밍 - Reading in Data
2014. 8. 9.그럼 예제 파일을 가지고 시작해보자. R 프로그램의 working directory 는 다음의 명령어로 확인가능하다. > getwd() [1] "C:/Users/fukaeri/Documents" 작업 디렉토리 변경은 다음과 같이 한다. setwd() 명령어로는 새폴더를 생성할 수는 없다. 그러므로 해당 폴더가 없는 경우라면 먼저 폴더를 생성한 후 작업 디렉토리로 지정해야 한다. > setwd(C:/Users/myusername/Documents/My Other R Stuff) 본 예제에 필요한 파일을 아래 링크에서 다운로드한 후 다음과 같이 입력한다. http://sites.google.com/site/undergraduateguidetor/manual-files > proteinconc = read.c..
R 프로그래밍 - Data Types (Converting/Using)
2014. 8. 2.아래와 같은 방법으로 데이터 타입을 변경할 수 있다. > matrix4=as.matrix(c(1,2,3))> matrix4 [,1][1,] 1[2,] 2[3,] 3> class(matrix4)[1] "matrix"> vector7=as.numeric(matrix4)> vector7[1] 1 2 3> class(vector7)[1] "numeric"> 변환이 필요한 이유는 특정 함수는 특정 데이터 타입을 필요로 하기 때문이다.
R 프로그래밍 - Data Types (logical, vector, matrix, array, data.frame, list)
2014. 8. 2.1. logical True/False 값(Boolean values)을 포함하는 logical 클래스에 대해 알아보자. > logical1 = c(T,F,F)> logical1[1] TRUE FALSE FALSE> class(logical1)[1] "logical" 2. vector 데이터 타입으로서의 vector 는 수학의 벡터와는 다르게 정의된다. vector 타입은 일견 기존의 numeric, character, logical 과 중복된 것처럼 보일 수 있지만, vector 타입의 장점은 numeric, character, logical 모두를 포함할 수 있다는 것이다. > vector1 = vector(mode="logical",3)> vector1[1] FALSE FALSE FALSE 특정..
R 프로그래밍 - Data Types (numeric, integer, character)
2014. 8. 2.1. numeric 수를 입력하는 경우 기본적으로 numeric 으로 저장된다. > calc1 = 1 + 1> calc1[1] 2 변수의 데이터 타입을 알고자하는 경우 아래 class() 함수를 이용한다.> class(calc1)[1] "numeric" > numbers1 = c(1, 2, 3)> numbers1[1] 1 2 3> class(numbers1)[1] "numeric" 위의 예를 보면 하나의 수가 아니므로 벡터가 아닌가라는 생각이 들 것이다. 여기서 트릭은 c() 함수는 값들을 연결해주는 concatenate 함수이라는 점에 있다. 각각의 값이 numeric 이므로 그 값들을 결합한 1 2 3 역시 numeric 이다. 2. integer > numbers2 = 1:3> numbers2[1..
R 프로그래밍 - Manipulation
2014. 7. 16.1. 콤마의 의미 > matrix1 [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > 1) [] 속 콤마의 의미 [1,] 숫자 뒤에 오는 콤마는 행 전체를 의미함 [,1] 숫자 앞에 오는 콤마는 열 전체를 의미함 이는 행렬의 요소를 정의할 때 행 넘버를 적고 열 넘버를 적는다는 일반적인 관습에 근거한다. > matrix1[1, 3] [1] 7 > matrix1[ 2, ] [1] 2 5 8 그리고 그 결과는 벡터의 형식으로 나타나게 됨 2) 열을 변경하는 명령어(제거되는 것은 아님) 두 번째 열을 변경하기 위해서는 다음의 명령어를 사용하면 된다. > matrix1[,-2] [ ,1 ] [ ,2 ] [ 1, ] 1 7 [ 2, ] 2 8 [ 3, ] 3 9 2. 데이터..
R 프로그래밍 - Matrices(행렬)
2014. 7. 11.1) 왼쪽에서 오른쪽으로, 그리고 위에서 아래로 인덱싱된다. 2) (nrow) 는 행의 갯수를 특정하고, (ncol) 은 열의 갯수를 특정한다. 3) 입력된 값의 수(예제에서는 9개)보다 많은 원소(예제에서는 10개)를 가지는 행렬을 만들려고 하면, 아래와 같은 경고 메시지를 출력한다. data length [9] is not a sub-multiple or multiple of the number of rows [2] 모자라는 1칸에는 첫번째 값이 1이 삽입된다. 행렬이 채워질 때까지 반복적으로 값이 들어가게 된다. 앞에서도 보았듯이 결과값 앞에 [1] 이 출력되는 것을 보아왔다. [1] 은 행렬의 한 열 또는 한 행과 동등이다. 위 그림의 첫번째 예는 1+1 에 대한 답인 2 라는 한 개의 원소를 가..
R 프로그래밍 - 벡터(Vector)
2014. 7. 11.1) 벡터는 아래 화면에서 보듯이 연속된 수일 수도 있고, 임의의 수일 수도 있다. 2) 포함할 수 있는 수의 갯수에는 제한이 없다. ":" (콜론 연산자)는 아럐 예에서 보듯이 1:9 즉, 1에서부터 1씩 증가하여 9(또는 9 직전의 수)가 될 때까지라는 의미다. >vector1=1:9 >vector1 [1] 1 2 3 4 5 6 7 8 9 3) 그리고 벡터를 만드는 다른 방법에는 c() 함수를 이용하는 방법이 있다. c() 안에 원하는 수를 넣으면 된다. 4) 벡터의 덧셈 연산은 사이즈가 같은 경우 각각의 위치에 있는 값끼리 더하면 된다. 5) 사이즈가 다른 경우 큰 사이즈가 작은 사이즈의 배수인 경우 반복하여 더한다. 사이즈가 배수가 아닌 경우 다음과 같은 에러 메시지를 출력한다. longer ob..
R 프로그램의 역사, 다운로드 및 설치, 대수(algebra)
2014. 7. 11.1. R의 역사 R 프로그램은 뉴질랜드 오클랜드 대학의 Ross Ihaka 와 Robert Gentleman 에 의해 개발되었습니다. R 에 대한 좀 더 알고 싶으시면 아래 링크를 참조하세요. http://www.r-project.org/ http://en.wikipedia.org/wiki/R_(programming_language) 2. 다운로드 및 설치 가까운 미러 사이트(http://cran.r-project.org/mirrors.html) 다운로드 한 후 설치하시면 됩니다. 3. 대수(Algebra) 1) 산술 연산자 적용이 가능하다. + (addition, 더하기) - (subtraction, 빼기) / (division, 나누기) * (multiplication, 곱하기) ^ (raise to..
/*+ bypass_ujvc */ 를 이용한 오라클 다중행 업데이트 쿼리
2014. 3. 22.2개 이상의 테이블을 조인하여 table1의 특정 컬럼을 table2 의 특정 컬럼의 값으로 업데이트는 아래와 같은 형식을 취한다. [일반적인 업데이트의 경우] UPDATE table SET A = 'F' WHERE B = 'T' [다중행 업데이트의 경우] UPDATE /*+ bypass_ujvc */ ( 조인된 select 쿼리가 위치하는 곳 ) SET A = A' 아래 예제는 table2 의 id 별로 end_date 컬럼의 max 값을 찾아 비어져있는 table1 의 end_dt 컬럼에 업데이트하는 경우이다. [예제] UPDATE /*+ bypass_ujvc */ (SELECT a.end_dt end1, REPLACE(b.end_date, '-', '') end2 FROM table1 a, ( ..
Earned Value Management (EVM, C/SCSC)
2012. 12. 1.Earned Value Management(Alias: EVM, cost/schedule control systems criteria - C/SCSC) WBS/EVMによるITプロジェクトマネジメント외국도서저자 : 山戶 昭三출판 : ソフトリサ-チセンタ- 2009.04.01상세보기 Earned Value Management (EVM) is a project performance measurement technique that provides an accurate comparison of the actual work performed against that planned. It achieves this by placing a baseline value on each deliverable at project co..
이클립스 단축키 보기 Shows you a list of your currently defined shortcut key
2012. 11. 3.Shiny product branding by thepatrick 이클립스 애플리케이션 개발서 세트국내도서>컴퓨터/인터넷저자 : Stephen Holder,Stanford Ng,Laurent Mihalkovic,제프 맥아퍼(Jeff McAffer),장미셸 르뮤(Jean-Michel Lemieux)출판 : 에이콘출판사 2012.02.08상세보기 이클립스 단축키 힌트 보기 CTRL + SHIFT + LShows you a list of your currently defined shortcut key Effective Eclipse: Shortcut keys by Tomas Kramarhttp://eclipse.dzone.com/news/effective-eclipse-shortcut-key 이클립스 애플리케..
카산드라 설치 Installing Cassandra
2012. 11. 1.The Apache Cassandra Projecthttp://cassandra.apache.org/ 빅 데이터 시대를 위한 NoSQL 핵심 가이드국내도서>컴퓨터/인터넷저자 : Tatsuya Sasaki / 손은영역출판 : 로드북(Roadbook) 2011.12.30상세보기 카산드라는 Java 를 기반으로 만들어진 소프트웨어이므로 우선 JDK 를 사용할 수 있어야 한다. 아래 링크에서 JDK 를 다운로드받는다. JDK 6 update 37 버전http://www.oracle.com/technetwork/java/javase/downloads/jdk6u37-downloads-1859587.html 이 중 각자 플랫폼에 맞는 파일을 받는다. Java SE Development Kit 6 Update 37Yo..
key-value형 스토어란 What is a Key/Value store database?
2012. 10. 27.빅 데이터 시대를 위한 NoSQL 핵심 가이드국내도서>컴퓨터/인터넷저자 : Tatsuya Sasaki / 손은영역출판 : 로드북(Roadbook) 2011.12.30상세보기 key-value형 스토어에 대한 간단한 설명Key 와 Value 를 쌍으로 관리하고 Key 를 통해 결과값을 얻어내는 방식 간단한 예제를 보자. user1923_age 18 user3371_color Blue user4344_color Brackish user1923_height 6' 0" user3371_age 34왼쪽이 key 이고 오른쪽이 value 이다. 보시다시피 그 값은 문자열이 될 수도 있고 정수 등의 형태도 될 수가 있다. 유일한 key 를 가지고 있기 때문에 그 유일한 key 만 조회하면 해당 객체를 가진 노드에서 ..
Tokyo Tyrant - 2. Tokyo Tyrant 설치하기
2012. 10. 27.3am, Dubai Airport by joiseyshowaa 빅 데이터 시대를 위한 NoSQL 핵심 가이드국내도서>컴퓨터/인터넷저자 : Tatsuya Sasaki / 손은영역출판 : 로드북(Roadbook) 2011.12.30상세보기 이어서 Tokyo Tyrant 를 설치한다. 버전은 1.1.41 이다. [**@**]# wget http://fallabs.com/tokyotyrant/tokyotyrant-1.1.41.tar.gz [**@**]# tar zxvf tokyotyrant-1.1.41.tar.gz [**@**]# cd tokyotyrant-1.1.41 [**@**]# ./configure [**@**]# make Error 발생make: *** [ttutil.o] 오류 [**@**]# sudo..
Tokyo Tyrant - 1. Tokyo Cabinet 설치하기
2012. 10. 27.Disruptive Code Is Off The Ground. Just Sayin' #dcode by paulamarttila 빅 데이터 시대를 위한 NoSQL 핵심 가이드국내도서>컴퓨터/인터넷저자 : Tatsuya Sasaki / 손은영역출판 : 로드북(Roadbook) 2011.12.30상세보기 Tokyo Tyrant (영속성 key-value형 스토어) 히라바야시 미키오(http://alpha.mixi.co.jp/author/mikio/)가 개발한 오픈소스 소프트웨어로NoSQL 데이터베이스 중에서는 영속성 key-value형 스토어로 분류된다. 공식사이트 http://fallabs.com/tokyotyrantTokyo Tyrant: network interface of Tokyo Cabinet To..
JQTouch - 메뉴 생성, 링크 걸기
2012. 10. 27.안드로이드 웹앱국내도서>컴퓨터/인터넷저자 : 조나단 스타크(Jonathan Stark) / 변정훈역출판 : 한빛미디어 2011.07.29상세보기 Opening by jurvetson 이제 해야할 것은 메뉴를 다듬는 일입니다.index.html 파일을 보시면 아래와 같이 메뉴 아래 초기화면에서 보이는 메뉴들이 나와있습니다. 최대한 코딩없이 가기 위해서 이 중 한 줄을 카피하여 최상단에 붙여넣은 다음 수정합니다. 타이틀을 News 로 바꾸고 링크를 #news 로 걸어둡니다. News4 그러면 링크는 어떻게 걸어야 하는지 살펴보겠습니다.1) 아래와 같이 외부 링크를 걸거나, External Links Twitter GitHub 2) 계층구조를 이용해서 파일을 걸거나 Geo Location Offline Uti..
JQTouch - 긴 타이틀 다루기
2012. 10. 20.안드로이드 웹앱국내도서>컴퓨터/인터넷저자 : 조나단 스타크(Jonathan Stark) / 변정훈역출판 : 한빛미디어 2011.07.29상세보기 앞서 셋팅한 이클립스에서 먼저 index.html 파일부터 수정해보자.JQTouch 소스를 다른 폴더(맨 하단 jqtoch_backup)에 백업해두고메뉴, 컨텐츠 등을 하나씩 수정해서 자신의 것으로 만들어본다. ※ Remote System Explorer 설정에 대해서는 http://www.jpalace.net/75 참조 1. 타이틀 바꾸기 index.html JQTouch About 사이에 있는 JQTouch 를 원하는 제목으로 바꾼다. 2. 긴 타이틀 다루기 아래와 같이 긴 타이틀에 대한 Max 값이 적절히 주어져 있지 않으면 타이틀에 몇 자 넣지 않았는데도..
이클립스 사용시 한글이 깨져나올 때/한글 폰트 크기가 작을 때
2012. 10. 19.1. 이클립스 사용시 한글이 깨져나올 때는 아래와 같이 Windows > Preferences > General > Workspace 메뉴에서 Text file Encoding 옵션을 Default → Other (UTF-8) 로 변경주면 된다. 2. 그러나 폰트 크기가 작다. 아래와 같이 이클립스 사용시 한글 폰트 크기가 작을 때는 아래와 같이 Windows > Preferences > General > Appearance > Colors and Fonts 메뉴에서 Basic 선택하여 Text Font 옵션에서 크기를 9로 줄여주면 영문 폰트와 동일한 크기가 된다. 오히려 커진 것을 볼 수 있다.
JQTouch 사용준비 / 데모실행
2012. 9. 22.http://www.jqtouch.com/ JQTouch 는 모바일 웹 개발 플러그인으로 소스코드는 아래에서 다운로드받아서 사용할 수 있다. https://github.com/senchalabs/jQTouch 간단한 설치방법이 아래 링크에서 안내되고 있으나, 이것보다는 demo 폴더를 가지고 수정해가면서 익히는 편이 나을 것이다. [Getting Started] https://github.com/senchalabs/jQTouch/wiki/Getting-Started 데모 폴더(demos > main )에 위치한 index.html 파일을 사파리, 크롬, 아니면 단말기에서 실행시켜보면 하단과 같은 결과를 얻게 된다. 데모 폴더는 그대로 두고 해당 폴더를 하나 더 복사하여 다른 이름으로 지정한 다음 수정해나..
이클립스 원격작업 Target Management (RSE)
2012. 9. 19.이클립스에서 원격 서버 작업을 직접하기 위해서 필요한 플러그인이 RSE 다. 먼저 아래 링크에서 최신 버전을 다운로드 받자. Target Management Homepagehttp://www.eclipse.org/tm/ Latest Release: TM 3.4 [downloads | update site | release notes ]TM 3.4 highlights include tested Eclipse 4.2 (Juno) support, Equinox secure storage support for passwords, and selectable encodings for the standalone Terminal.It is fully compatible with TM 3.2 and later, and ..