달력

12

« 2018/12 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
2017.06.16 14:47

Sublime text 사용 법 분류없음2017.06.16 14:47

.. .. ..

sublime text 사용법

1. 컨트롤 누르고 시작지점 마우스로 클릭

2. alt + shift + 오른쪽 눌러서 그룹 묶음

3. alt + shift

ctrl + shift + l : 드레그한 프롬프트 모음



.
Posted by .07274.

댓글을 달아 주세요

2016.11.18 14:55

R 스터디 - 텍스트 마이닝 기초 분류없음2016.11.18 14:55

.. .. ..

R을 활용한 텍스트 마이닝 기초_1

한글 텍스트 분석하기


1. 패키지 설치

 install.packages("KoNLP")


2. 라이브러리 로드 (Java 필수 필요)

 library(KoNLP)


3.  함수

 - extractNoun (한글 명사 추출)

   - txt1 = readLines("좋아하는 괄일.txt")

   - txt2 = sapply(txt1.extractNoun, USE.NAMEs=F


 - 사전 사용 방법

   - useSejongDic() 

   - 사전에 새로운 단어 추가

     - margeUserDic(data.frame("파인애플","ncn")) # ncn 은 명사, 

   - 자동 추가 방법

     - mergeUserDic(data.frame(readLines("파일명","ncn"))

   - 사전 파일 경로

     - .libPaths() # 로 경로 확인. (KoNLP 경로 아래 있음)

 

- 함수 사용시 UTF-8 에러 처리

  - e

   -

 

- 밀정 테스트

예제 1. 영화 밀정의 리뷰를 분석하여 워드 클라우드 작성하기

################################################################

## 영화의 리뷰를 분석하여 워드 클라우드 그리기

## 영화 밀정 워드 클라우드 그리기

################################################################

setwd("c:\\a_temp")

#install.packages(“KoNLP”)

#install.packages(“wordcloud”)

#install.packages("stringr")

#library(KoNLP)

#library(wordcloud)

#library(stringr)

#Step 1. 분석 파일을 불러 옵니다

data1 <- readLines("영화_밀정.txt")

data1

#Step 2. 문장을 단어로 분리합니다.

data1 <- gsub(" ","-",data1)

data1 <- str_split(data1,"-")

data1 <- str_replace_all(unlist(data1),"[^[:alpha:][:blank:]]","")

tran1 <- Map(extractNoun, data1)

tran1

tran11 <- unique(tran1)

tran2 <- sapply(tran11, unique)

tran2

tran3 <- rapply(tran2, function(x) gsub("리뷰", "", x), how = "replace")

tran3 <- rapply(tran3, function(x) gsub("영화", "", x), how = "replace")

tran3 <- rapply(tran3, function(x) gsub("평점", "", x), how = "replace")

tran3 <- rapply(tran3, function(x) gsub("내용", "", x), how = "replace")

tran3 <- rapply(tran3, function(x) gsub("제외", "", x), how = "replace")

tran3 <- rapply(tran3, function(x) gsub("ㅋㅋㅋ", "", x), how = "replace")

tran3 <- rapply(tran3, function(x) gsub("ㄱㄱㄱ", "", x), how = "replace")

tran3

tran4 <- sapply(tran3, function(x) {Filter(function(y) {nchar(y) <= 6 && nchar(y) > 1},x)} )

tran4


#Step 3. 공백을 제거하기 위해 저장 후 다시 불러 옵니다.

write(unlist(tran4),"밀정_2.txt")

data4 <- read.table("밀정_2.txt")

data4

nrow(data4)


#Step 4. 각 단어별로 집계하여 출현 빈도를 계산합니다 (1차 확인 단계)

wordcount <- table(data4)

wordcount

wordcount <- Filter(function(x) {nchar(x) <= 10} ,wordcount)

head(sort(wordcount, decreasing=T),100)


#Step 5. 필요없는 단어를 제거한 후 공백을 제거하고 다시 집계를 합니다.

# 이 과정을 여러 번 반복하여 필요 없는 단어들은 모두 제거해야 합니다.

txt <- readLines("영화gsub.txt")

txt

cnt_txt <- length(txt)

cnt_txt

for( i in 1:cnt_txt) {

tran3 <- rapply(tran3, function(x) gsub((txt[i]),"", x), how = "replace")

}

tran3

data3 <- sapply(tran3, function(x) {Filter(function(y) { nchar(y) >=2 },x)} )

write(unlist(data3),"밀_2.txt")

data4 <- read.table("밀_2.txt")

data4

nrow(data4)

wordcount <- table(data4)

wordcount

head(sort(wordcount, decreasing=T),100)



#Step 6. 전처리 작업이 모두 완료되면 워드 클라우드를 그립니다.

library(RColorBrewer)

palete <- brewer.pal(7,"Set2")

wordcloud(names(wordcount),freq=wordcount,scale=c(5,1),rot.per=0.25,min.freq=5,

random.order=F,random.color=T,colors=palete)

legend(0.3,1 ,"영화 댓글 분석 - 밀정 ",cex=1.2,fill=NA,border=NA,bg="white" ,

text.col="red",text.font=2,box.col="red")

savePlot("영화_밀정.png",type="png")

.
Posted by .07274.

댓글을 달아 주세요

  1. BlogIcon 학생 2016.12.12 16:07 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 글 참고하고갑니다 감사해요~!

.. .. ..

1. 조건문 - IF

 - 문법 : if( 조건식) { 식1 , 식2} else {식3}

 - ifelas(a,b,c) ==> 간지 식 : a 가 참이면 b를 출력하고 거짓이면 c를 출력하기

  - ifelse(no%%2==0,'짝수','홀수')


2. 반복문 : while() , for()

 - 


3. 정규식

 - \\d : Digit, 0,1,2 ... 9

 - \\D : 숫자가아닌것

 - \\s : 공백

 - \\S : 공백이아닌것

 - \\w :  단어

 - \\W : 단어가아닌것

 - \\t : Tab

 - \\n : New line (엔터문자)

 - ^ : 시작되는글자

 - $ : 마지막글자

 - \ : Escape character (탈출문자), e.g. \\ is "\", \+ is "+"

 - | : 두개이상의조건을동시에지정. e.g. /(e|d)n/ matches "en" and "dn"

 - • : 엔터(New line)를제외한모든문자


 - [ab] : a 또는b

 - [^ab] : a 와 b 를제외한모든문자

 - [0-9] : 모든숫자

 - [A-Z] : 영어대문자

 - [a-z] : 영어소문자

 - [A-z] : 모든영문자(대소문자전부)

 - i+ : i 가 최소 1회는 나오는 경우

 - i* : i 가 최소 0회 이상 나오는 경우

 - i? : i가 최소 0회에서 최대 1회만 나오는 경우

 - i{n} : i 가 연속적으로 n 회 나오는 경우

 - i{n1,n2} : i 가 n1 에서 n2 회 나오는 경우

 - i{n,} : i 가 n 회 이상 나오는 경우

 - [:alnum:] : 문자와 숫자가 나오는 경우: [:alpha:] and [:digit:]

 - [:alpha:] : 문자가 나오는 경우: [:lower:] and [:


 - [:cntrl:] : 제어문자가 있는경우

 - [:digit:] : Digits: 0 1 2 3 4 5 6 7 8 9

 - [:graph:] : Graphical characters: [:alnum:] and [:punct:]

 - [:lower:] : 소문자가 있는경우

 - [:print:] : 숫자,문자,특수문자,공백모두: [:alnum:], [:punct:] and space

 - [:punct:] : 특수 문자예: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

 - [:space:] : 공백문자: tab, newline, vertical tab, form feed, carriage return, space

 - [:upper:] : 대문자가 있는경우

 - [:xdigit:] : 16진수가 있는경우: 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f


4. 특정 패턴만 골라내기 - grep()

 - grep(pattern,a) 

  - ex.) grep('^ORA-+',char1, value=T)


5. 길이를 알려줘 - nchar()

 - nchar('James Seo') ==> 9


6. 연결해줘 - paste()

 - paste('aa','bb','cc') ==> aa bb cc


7. 특정 부분만 골라줘 - substr()

 - substr('abc123',시작위치,끝나는 위치)

 - substr('abc123',3,3) == > c


8. 패키지로 그래픽 처리 - graphic()

 - plot() 함수

   - plot(x축 데이터 , 옵션)

   - plot(x=3,y=5)

   - plot(x축 데이터 , y 축 데이터 , 옵션)

   - plot(c(1:3) , c(4:6))

   - 옵션

인수

설명

main="메인 제목"

제목 설정

sub="서브 제목"

서브 제목

xlab="문자", ylab="문자"

x , y 축에 사용할 문자열을 지정합니다

ann=F

x , y 축 제목을 지정하지 않습니다.

tmag=2

제목 등에 사용되는 문자의 확대율 지정

axes=F

x,y 축을 표시하지 않습니다

axis

x,y 축을 사용자의 지정값으로 표시합니다

그래프 타입선택

type="p"

점 모양 그래프 (기본값)

type="l"

선 모양 그래프 (꺾은선 그래프)

type="b"

점과 선 모양 그래프

type="c"

"b" 에서 점을 생략한 모양

type="o"

점과 선을 중첩해서 그린 그래프

type="h"

각 점에서 x축 까지의 수직선 그래프

type="s"

왼쪽값을 기초로 계단모양으로 연결한 그래프

type="S"

오른쪽 값을 기초로 계단모양으로 연결한 그래프

type="n"

축 만 그리고 그래프는 그리지 않습니다


선의 모양 선택

lty=0,lty="blank"

투명선

lty=1,lty="solid"

실선

lty=2,lty="dashed"

대쉬선

lty=3,lty="dotted"

점선

lty=4,lty="dotdash"

점선과 대쉬선

lty=5,lty="longdash"

긴 대쉬선

lty=6,lty="twodash"

2개의 대쉬선

색, 기호 등

col=1 ,col="blue"

기호의 색지정 ,1-검정 , 2-빨강 , 3-초록 , 4-파랑 , 5-연파랑

6-보라 , 7-노랑 , 8-회색

pch=0,pch="문자"

점의 모양을 지정합니다 (아래 별도 표 참조)

bg="blue"

그래프의 배경색을 지정합니다

lwd="숫자"

선을 그릴 때 선의 굵기를 지정합니다

cex="숫자"

점이나 문자를 그릴 때 점이나 문자의 굵기를 지정합니다


9. 그래프 새창에 띄우기 

 - dev.new()


10. 최종 창 clear

 - plot.new()


11. 그래프 여백 조정

 - a <-c(1,2,3)

 - plot(a,xlab="aaa")

 - par(mgp=c(0,1,0)) #  mgp=c(제목위치,지표값위치,지표선위치)) 의 순서

 - plot(a,xlab="aaa")


12. 그래프에 범례 추가 

 - legend(x 축 위치 , y 축 위치 , 내용 , cex=글자크기, col = 색상 , pch=크기 , lty=선모양)

 - legend(4,9,c("v1","v2","v3"),cex=0.9,col=c("red","blue","green"),lty=1)


13. 막대 그래프 그래기 - barplot()

 - 옵션

      인수

기능

angle,density,col

막대를 칠하는 선분의 각도, 선분의 수, 선분의 색을 지정합니다

legend

오른쪽 상단에 범례를 그립니다

names

각 막대의 라벨을 정하는 문자열 벡터를 지정합니다

width

각 막대의 상대적인 폭을 벡터로 지정합니다

space

각 막대 사이의 간격을 지정합니다

beside

TRUE 를 지정하면 각각의 값마다 막대를 그립니다

horiz

TRUE 를 지정하면 막대를 옆으로 눕혀서 그립니다


14. 관계도 그리기 - igraph()


15. igraph() 확장판 - d3Network()

 - 문서 내 변경 

install_github("christophergandrud/d3Network") ==> 시험판

install.packages("d3Network") ==> 정식 배포판

library(RCurl) 은 삭제

.
Posted by .07274.

댓글을 달아 주세요

2016.11.17 15:55

R 스터디 - 함수 I.lib()/I.lib(etc)2016.11.17 15:55

.. .. ..

1. 기본 중요 함수

 - aggregate( )  다양한 함수를 사용하여 계산결과를 출력함 

 - apply( ) 다양한 기능이 있어서 아래 예를 참고하세요 

 - cor( ) 상관함수 

 - cumsum( ) 설정된 지점까지의 누적합 

 - cumprom( ) 설정된 지점까지의 누적곱 

 - diff( ) 차이 나는 부분을 찾아냄 

 - length( )  요소갯수를 구해서 출력함 

 - max( )  최대값을 출력함 

 - min( )  최소값을 출력함 

 - mean( ) 평균값을 출력함 

 - median( ) 가운데값을 출력함 

 - order( )  각 요소의 원래 위치 

 - prod( ) 누적곱을 출력함 

 - sd()  표준편차

 - var() 분산

 - sum() 합계

 - 


2. 상세

 - 데이터 프레임 상대로 주어진 함수 값 구하기 : aggregate()

  - 문법 : aggregate(계산될 컬럼~기준될컬럼, 데이터, 함수

  - install.packages("googleVis")

  - library(googleVis)

  - aggregate(Sales~Year,Fruits,sum) <-- Year별로 Sales 값을 sum 하라! 


 - 다양한 함수 apply()

  - 문법 :  apply(data  행/열 , 작업함수)   (행 = 1 ,열 =2)

  - 변종

    - lapply(c(list1, list2) , max) --> list 와 list2 값을 구해서 각각의 가장큰 값을 출력

    - sapply(c(list1, list2) , max) --> list1와 list2 값을 구해서 가장 큰값을 한번에 출력

    - tapply(출력값  기준컬럼, 적용함수)

      - tapply(Fruits$Sales ,Fruits$Fruit,sum)

      - attach(Fruits) 명령어를 줄 경우

        tapply(Sales ,Fruit,sum) 로도 원하는 결과 값 추출 가능.


3. 정리

[ aggregate( ) 함수와 apply( ) 계열 함수 정리 ] 

특정 컬럼이나 행을 기준으로 연산 작업을 한다  ==> apply( ) 계열 함수 

특정 값을 기준으로 집계한 후 연산 작업을 한다  ==> aggregate( ) 계열 함수 


[ apply( ) 계열 함수 정리 ] 

연산 결과를 리스트별로 따로 보여준다  ==> lapply( )함수 

연산 결과를 요약해서 보여준다           ==> sapply( )함수 

연산 결과를 가로로 펴서 보여준다       ==>tapply( )함수 

.
Posted by .07274.

댓글을 달아 주세요

2016.11.17 14:34

R 스터디 - 기본 I.lib()/I.lib(etc)2016.11.17 14:34

.. .. ..

setwd("D:\\Program Files\\R\\workDir")

getwd()


1. 숫자 변환 : as.numeric('')


2. ' , " 모두 동일하게 인식


3. 알은 날짜도 글자로 인식(class('2016-06-06'))


4. NA : 잘못된 값


5. NULL : 값이 없을 경우

 - na.rm=TRUE   #NA 값을 포함한 모든 값의 합 구하기


6. Factor 형 (요소) - 빈도 분석시 사용


7. summary(xxx) = 요약 함수

 factor = hash 동일 개념 ==> Key 값으로 데이터 관리.

 - summary(as.factor(address))


8. as.POSIXct('2001-01-01') ==> 문자를 날짜로 변환.

 - 졸 불편해. 그래서 R의 헤들리 위켐이라는 영국아재가 패키지 무쟈게 만드렁 배포함.

   날짜를 쉽게 쓰게하는 lubridate 패키지 만듬 짱좋음.


9. lubridate 패키지

 -  year(date) #년도만 출력

 - month(date,label=T) # 월을 출력하되 영문 이름으로 출력

 - month(date,label=F) # 월을 출력하되 숫자로 출력

 - day(date  #일 출력

 - wday(date,label=T) #요일을 출력하되 영문 이름 출력

 - ......


10. var = '11' , var

 - 서로 다른 형태의 변수 선언시 String 으로 모두 변환한다.


11. var = 1:5 는 1,2,3,4,5 가 저장된다. 숫자만 된다.


12. 날짜 함수 as.Data 로 사용해라.


13. 생성한 변수 확인 방법 : objects()


14. 벡터형 (Vector)

 - c(1,2,3,4,5)

 - 벡터 내 인수는 모두 동일해야한다.

 - vac = c(1,2,3,4,5) , 

   vac[3] 3번째만 , 

   vac[-3] 3만 빼고,

   vac(vac,7) 벡터에 새로운 내용 추가

 - 데이터 형이 다른 벡터의 합은 union(var1 , var3)

 - 차집합 : setdiff(var1, var2) var1에는 있는데 var2 에는 없는 요소

 - 교집합 : intersect(var1, var2) 두개 공통으로 있는값

 - 자동증가 벡터 : seq(1,5) => 1,2,3,4,5     , seq (2,-2) => 2,1,0,-1,-2 , seq(1,10,2) 2씩증가하여 10까지

 - 벡터 반복 : rep(1:3,2) ==> 123123 , rep(1:3,each=2=) ==> 112233

 - 벡터 길이 : length(var1)

 - 있나없나 확인 : 3 %in% var7 ==> var7  에서 3있니?? TRUE 리턴


14. 행렬 형 : Matrix()

 - 그래프 그릴때 기초.

 - mat1 = matrix(c(1,2,3,4))

 - mat2 = matrix(c(1,2,3,4), nrow=2     1,3,  2,4

 - mat3 = matrix(c(1,2,3,4), nrow=2, byrow=T)   1 , 2   3,4

 - 출력 : mat3[,1] 모든행 1열만 , mat3[1,] 모든열의 1행만 , mat3[1,1] 1,1 만


15. 배열 : Array


16. 데이터 프레임 (중요!!) 


17. 파일 이름 확인하기. : list.files() , list.files(recursive=T) ==> 하위 디렉토리까지 모두


18. 텍스트 파일 읽어 배열 저장 :  

 - scan = scan("test.txt") , 

 - scan = scan("scan_2.txt",what="")  , 

 - scan = scan() 은 사용자 입력받는것

 - scan = scan(,what="") 문자를 입력할때 사용


19 .파일 읽어 배열 담기

 - input1 = readLine("readfile.exe")


20. 테이블로 파일 읽어오기 read.table()

 - fruits = read.table("file.txt")

 - fruits2 = read.table("fruits.txt",header=T)

 - fruits3 = read.table("인물.txt",skip=5, nrow=3)

 - fruits4 = read.table("fruits.txt",header=T , sep=",")


21. 구분이 , 로되어있으면 csv 함수 사용

 - fruit3 = read.csv("csv파일 읽기.txt")


22. read.csv.sql() 명령 - 원하는 데이터를 SQL 쿼리로 불러 오기

 - install.packages("googleVis")

-library(googleVis)

-install.packages("sqldf")

-library(sqldf)

-Fruits

 - 사용은

  - write.csv(Fruits, "Fruits_sql.csv" ,quote = F , row.names = F)

  - fruits_2 = read.csv.sql("Fruits_sql.csv" , sql="SELECT * FROM DUAL")

  - fruits


23. 엑셀 파일 읽기

 - install.packages("readxl")

 - library(readxl)

 - data1 = read_excel("파일명", sheet=1 , col_names=TRUE , col_types = NULL , na = "" , skip = 0)


24. 파일로 저장

 - write(txt1 , "write.txt")

 - writeLines(txt1 , "text.txt")

 - write.table(txt2, "textt.txt")

.
Posted by .07274.

댓글을 달아 주세요

.. .. ..

.

[펌] : http://lbass.tistory.com/entry/Eclipse-%EC%A3%BC%EC%84%9D-%EC%84%A4%EC%A0%95%EC%9E%90%EB%8F%99-%EC%A3%BC%EC%84%9D-%EC%83%9D%EC%84%B1-%EC%84%A4%EC%A0%95



.
Posted by .07274.

댓글을 달아 주세요

2016.05.25 14:57

GIT 내용 정리 분류없음2016.05.25 14:57

.. .. ..

[GIT 서버 최초 설치] - 정리 잘된것

http://blog.daum.net/_blog/BlogTypeView.do?blogid=0peVA&articleno=34&categoryId=8&regdt=20140829180344

.
Posted by .07274.

댓글을 달아 주세요

2016.05.25 13:39

[펌] 롬복 (Lombok) 정리 분류없음2016.05.25 13:39

.. .. ..

.

[펌] : https://blogs.idincu.com/dev/?p=17

.
Posted by .07274.

댓글을 달아 주세요

.. .. ..

.

Nexus 3.0이 나온것 같은데 정리된 자료를 찾지 못해 정리한다.


1. 다운로드 

1. url : http://www.sonatype.com/download-oss-sonatype

         (Tomcat 에 올릴수 있는 war 버젼은 2.x 버젼 까지만 지원한다고 어디서 봤는데.. 안정성 때문이래나;;)


2. 설치

CentOS 7.x 버젼 설치 기준


1. 설치 폴더에 복사 후 Tar 해제 (root 권한을 가이드 했지만 살포시 무시)

tar xvf nexus-xxxx


2. 실행.

NEXUS_HOME/bin>./nexus start


3. 자바 관련 오류 발생

1. java 8.0 부터 지원하고 머 설정 어쩌고 오류 발생

2. 오라클 가서 해당 java 설치

3. nexus 실행 파일 설정 변경

    vi 로 bin/nexus 를 열어 보면 아래 같은 정보가 있는데

# Uncomment the following line to override the JVM search sequence

# INSTALL4J_JAVA_HOME_OVERRIDE=

    아래와 같이 변경해줌.

# Uncomment the following line to override the JVM search sequence

INSTALL4J_JAVA_HOME_OVERRIDE=/java 경로/jdk1.8.0_91


4. 하는 김에 포트 변경을 하고 싶은데... 하고 소스 다 열어봄..

아래 경로에 있는 파일 안에 port 정보 있음.

NEXUS_HOME/etc/org.sonatype.nexus.cfg

포트 변경 정보는 아래와 같음.

application-port=8081


4.  재 실행

NEXUS_HOME/bin>./nexus start


5. 접속 확인

http://xxx.xxx.xxx.xxx:8081/


6. 안된다.. 아!! 방화벽;;


7. 방화벽 설정

1. 루트권한으로


2. 포트 등록

firewall-cmd --permanent --zone=public --add-port=8081/tcp


3. 리로드

firewall-cmd --reload


4. 잘됬나 확인

 vi /etc/firewalld/zones/public.xml


8. 재 접속 확인

http://xxx.xxx.xxx.xxx:8081/


9. 떴다~! ㅋㅋ 최초 로그인 admin 정보는?

id : admin

pw : admin123


끝!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


도움 되셨으면 댓글 하나 달아주세요~^^

퍼갈일 없도록 허접하지만 혹시 퍼가면 가져가시는 주소도 같이 댓글 달아주세요~!


감사합니다.

.
Posted by .07274.

댓글을 달아 주세요

.. .. ..

[펌] : http://yjacket.tistory.com/category/IT/Redmine

TIP : SVN 로그 메시지로 일감 상태 변경하기

 

개발자가 레드마인 웹에 접속해서 일일이 일감 상태를 변경하고 관련 revision 을 기록하지 않아도, 커밋 로그메시지만으로 한방에 해결 하는 기능이 있다.

레드마인이 저장소의 변경사항을 읽어 들이면서 로그메시지에 특정키워드가 있으면, 상태를 변경시키는 기능인데, 관리자 > 설정 > 저장소들에서 커밋메시지에서 일감을 참조하거나 해결하기 섹션을 보자.

image

 

 

일감 해결에 사용할 키워드들 
커밋메시지에서 이곳에 쓰인 키워드와 일감# 패턴이 발견되면, 레드마인이 해당 일감#과 관련된 변경내역을 일감정보에 리비전번호와 함께 표시하고, 일감의 상태와 진행률을 지정한 대로 변경한다.

예를 들어 다음과 같이 커밋메시지를 작성하면, 커밋메시지

레드마인에서 해당 일감에 다음과 같이 표시 된다. 커밋메시지외에 별도로 레드마인에서 일감 상태를 변경해주지 않았지만 붉은색 박스 영역을 보면 상태 변경 처리가 되어 있고, 하늘색 박스영역을 보면 관련된 개정판(리비전) 번호와 함께 커밋로그메시지가 참조 표시 되고 있다.
image

 

일감 참조에 사용할 키워드들 
일감해결 키워드에서 상태변경(붉은색 박스 영역)을 제외한 관련 개정판 이력이 일감에 추가 된다.

커밋메시지에 양식에 맞는 키워드를 썼는데도 일감내용이 변경되지 않는다면?
- 키워드 패턴이 키워드[공백]#숫자로 fixes #123 과 같이 작성되어 있는지 확인한다.
- 프로젝트 메뉴 상단의 저장소를 한번 클릭하고, 일감을 열어본다.

.
Posted by .07274.

댓글을 달아 주세요