달력

3

« 2024/3 »

  • 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
2016. 11. 18. 11:01

R 스터디 - 조건문 , 정규표현식 I.lib()/I.lib(etc)2016. 11. 18. 11:01

.. .. ..

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.
.. .. ..

.

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


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


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

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


감사합니다.

'I.lib() > I.lib(etc)' 카테고리의 다른 글

R 스터디 - 함수  (0) 2016.11.17
R 스터디 - 기본  (0) 2016.11.17
[펌] Redmine Tip SVN 로그 메시지로 일감 상태 변경하기  (0) 2016.03.22
vsftp 설정 정보  (0) 2015.05.19
바른손 청첩장 샘플 후기  (0) 2015.04.20
.
:
Posted by .07274.
.. .. ..

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

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

 

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

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

image

 

 

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

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

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

 

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

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

.
:
Posted by .07274.
2015. 5. 19. 20:29

vsftp 설정 정보 I.lib()/I.lib(etc)2015. 5. 19. 20:29

.. .. ..

/etc/rc.d/init.d/vsftpd   --> 시작 정지 재시작
/etc/vsftpd/ftpusers     --> pam과 관련있고, 이 파일에 등록된 사용자 계정 로그인 불가

/etc/vsftpd/user_list     --> vsftpd 자체적으로 로그인을 허용하지 않을 계정을 목록화

/etc/vsftpd/vsftpd.conf --> 설정값 변경

.
:
Posted by .07274.
2015. 4. 20. 13:45

바른손 청첩장 샘플 후기 I.lib()/I.lib(etc)2015. 4. 20. 13:45

.. .. ..

.

 

남자 입장에서 청첩장을 고르는 것은 쇼핑을 하러 백화점 가는것 만큼 귀찮다.
이런 나를 위해 여러 업체의 샘플을 신청해주신 예신님께 미리 감사.

여러 업체의 청첩장 샘플을 보며 마음에 드는 디자인을 10개로 추려보았고
그중 5개로 추려보았다.
허허허.. 전부다 바른손꺼네 ;;

바른손 장점.
1. 사이트에서 본 디자인이 그대로 샘플이 나온다.
 (실제로 샘플을 받아보면 퀄리티가 많이 떨어지는 업체도 있다.)

2. 가격이 상대적으로 꽤 저렴하다.
   비슷한 패턴의 디자인의 경우 상대적으로 더 저렴함을 느낄수 있다.

3. 자주 업데이트 되는 웹사이트(신뢰도 증가)
   사이트에 이벤트도 자주 올라오고 후기도 많아 상대적으로
   신뢰를 받을수 있었다.

바른손 단점.
1. 뭐.. 마음에 드는게 너무 많아서 선택장애를 불러온다;;

이래저래 마음에 들었던 사이트인 만큼
이제 결제 단계로 진입해 보고 추가 후기를 써보련다. 

 

 

.
:
Posted by .07274.
.. .. ..

 

1. CentOS 에 Redmine 설치
 1. SELinux을 disable

vi /etc/sysconfig/selinux 열고 SELINUX의 값을 disabled로 변경한다.
SELINUX=enforcing --> SELINUX=disabled

수정후 CentOS를 재부팅

재부팅한 후 getenforce을 통해 SELinux가 Disabled 되었는지 확인
getenforce 결과값 :Disabled

 

2 port 허가

방화벽 추가(해당 포트는 Redmine 이 사용되는 포트. 80 번으로 사용해도 문제 없다)
firewall-cmd --permanent --zone=public --add-port=3000/tcp

방화벽 확인
cat /etc/firewalld/zones/public.xml

방화벽 재시작(안해도 됨)
systemctl restart firewalld


3. 필요한 도구 설치

1. EPEL 설치 (실패함. 기존에 설치되어 실패로 예상하며 차후 문제 없었음)
rpm -Uvh epel-release "http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm"
or
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

 

2 개발툴 설치
yum groupinstall "Development Tools"


3 Ruby와 Passenger 빌드에 필요한 헤더파일
yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel


4 Mysql과 헤더파일
yum install mysql-server mysql-devel


5 Apache과 헤더파일
yum install httpd httpd-devel


6 ImageMagick과 헤더파일
yum install ImageMagick ImageMagick-devel


4. Ruby설치

1. 소스다운로드 (소스 다운 후 설치시 실패함. 원인 파악 안함.)

http://www.ruby-lang.org/ko/downloads/

 

2. 빌드

tar zxvf ruby-1.9.3-p194.tar.gz
cd ruby-1.9.3-p194
./configure --disable-install-doc
make
make install
make clean

 

1. yum 방식으로 Ruby 설치(아래 URL 참조)

https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-centos-6


 

2. 확인
ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]


5. bundler 설치

gem install bundler --no-rdoc --no-ri


6. Mysql 설정

1. 버젼 확인

-bash-4.2$ mysql --version
mysql  Ver 15.1 Distrib 5.5.41-MariaDB, for Linux (x86_64) using readline 5.1

 

2. 설정값 변경 (변경 안함. 다른 곳에서 변경하는것 같아서 무시)
#vi /etc/my.cnf

[mysql]
default-character-set=utf8를 추가

[mysqld]
character-set-server=utf8를 추가

 

3. 재기동 및 자동으로 서비스 가동
/etc/init.d/mysqld start
chkconfig mysqld on


7. Redmine용 데이터베이스 및 유저생성

mysql -uroot -p
mysql> create database db_redmine default character set utf8;
mysql> grant all on db_redmine.* to user_redmine identified by '********';
mysql> flush privileges;
mysql> exit;


8. Redmine 설치

1. 소스 다운로드 (실패. 없는 URL)
http://rubyforge.org/frs/?group_id=1850

 

1. 소스 다운로드

http://www.redmine.org/projects/redmine/wiki/Download

 

2 소스배치
tar zxvf redmine-2.1.0.tar.gz
mv redmine-2.2.0 설치경로


3 데이터베이스 접속설정
redmine 밑으로 config/database.yml을 vi열어서 아래와 같이 편집한다.
(database.yml.example파일을 참조해서 만든다.)

production:
adapter: mysql2
database: Mysql 에 설정한 Database 명
host: localhost
username: 생성한 redmine용 id
password: **
encoding: utf8

 

4 메일 접속설정 (적용 안함. 차후 필요시 사용)

vi config/configuration.yml 열어서 아래와 같이 설정해 준다.
(config/configuration.yml.example파일 참조)

production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: "localhost"
port: 25
domain: 'example.com'

 

5 Gem Package 설치
bundle install --without development test postgresql sqlite

 

9 테이블 생성 및 초기 데이터 입력

rake generate_secret_token
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
한국어는 ko로 입력한다.

 

10. 서버 가동

#ruby script/rails server webrick -e production

 

11. 확인

브라우저에서 http://localhost:3000으로 접속해 본다.

 

 

 

2. Apache 에서 Redmine 사용하기.

 

1. passenger 설치

sudo gem install passenger
passenger-install-apache2-module

 

2. 설치 완료시 아래와 같은 메시지 확인 (확인용)

 

The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/buildout/apache2/mod_passenger.so
   PassengerRoot /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.23
   PassengerDefaultRuby /usr/local/bin/ruby

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

Press ENTER to continue.


--------------------------------------------
Deploying a Ruby on Rails application: an example

Suppose you have a Rails application in /somewhere. Add a virtual host to your
Apache configuration file and set its DocumentRoot to /somewhere/public:

   <VirtualHost *:80>
      ServerName www.yourhost.com
      # !!! Be sure to point DocumentRoot to 'public'!
      DocumentRoot /somewhere/public
      <Directory /somewhere/public>
         # This relaxes Apache security settings.
         AllowOverride all
         # MultiViews must be turned off.
         Options -MultiViews
      </Directory>
   </VirtualHost>

And that's it! You may also want to check the Users Guide for security and
optimization tips, troubleshooting and other useful information:

  /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/doc/Users guide Apache.html
  http://www.modrails.com/documentation/Users%20guide%20Apache.html

Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
https://www.phusionpassenger.com

Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.

 

3. Apache 에 Redmine 인식 시키기

1. Apache 설정파일 열기

vi /etc/httpd/conf/httpd.conf

 

2. 2번에 굵은 글씨로 써둔 부분 가장 아래에 첨부하기   

LoadModule passenger_module /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.23/buildout/apache2/mod_passenger.so

PassengerRoot /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.23
PassengerDefaultRuby /usr/local/bin/ruby

 

   <VirtualHost *:80>
      ServerName www.yourhost.com
      # !!! Be sure to point DocumentRoot to 'public'!
      DocumentRoot /somewhere/public
      <Directory /somewhere/public>
         # This relaxes Apache security settings.
         AllowOverride all
         # MultiViews must be turned off.
         Options -MultiViews
      </Directory>
   </VirtualHost>

 

이때 주의해야 할 점은 /somewhere/public 이라는 경로를 redmine_home/public 로 변경해야 된다.(2개 변경) 

 

3. 아파치 재시작

service httpd restart  // centos

 

4. 확인

http://localhost:80 

 

 

 

3. Redmine 2.3.1->3.0 업그레이드

(아래 사이트 참조함)

 (http://www.redmine.or.kr/projects/community/wiki/%EC%97%85%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C )

 

1. 백업 (아래 두가지 항목만 옮기면 끝난다.)

1.1 파일 백업
REDMINE_ROOT/files에 있는 파일을 백업해 준다.

1.2 DB 백업
mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz

 

2. Redmine 3.0 설치

1번(CentOS 에 Redmine 설치) 방법대로 진행

 

3. Redmine 동기화

1. config/database.yml을 설정한다
redmine 1.4버전 이상의 redmine과 ruby1.9버전을 이용하는 경우는 mysql2로 변경해서 사용한다.

 

2. 파일 복사
백업해 둔 파일을 새로운 버전 files에 복사한다.

 

3. bundle install
cd REDMINE_HOME
bundle install --without development test postgresql sqlite rmagick

 

4. 토큰 발행

rake generate_secret_token

 

5. DB 마이그레이션 (이 작업을 완료하면 기존 DB 데이터를 신규 DB 구조로 변경하여 사용할수 있도록 함)
rake db:migrate RAILS_ENV=production

 

6. 플러그인의 DB 마이그레이션
rake redmine:plugins:migrate RAILS_ENV=production

 

7.  클린업
rake tmp:cache:clear
rake tmp:sessions:clear

 

etc.DB마이그레이션이 실패한 경우 원래대로 돌리고 싶은 경우

1 DB생성하기
mysqladmin -u root -p<password> create 데이터베이스명

 

.2 복구하기
mysql -u root -p<password> 데이터베이스명 < 백업해둔 파일(물론 압축은 풀어 놓아야 한다)

 

 

'I.lib() > I.lib(etc)' 카테고리의 다른 글

vsftp 설정 정보  (0) 2015.05.19
바른손 청첩장 샘플 후기  (0) 2015.04.20
[펌] Eclipse 로 C언어 짜기  (0) 2015.01.08
Wireshark pcap 파일 분할  (0) 2015.01.07
초보 개발자가 오픈소스에 기여하는 5단계  (0) 2014.11.17
.
:
Posted by .07274.
2015. 1. 8. 22:07

[펌] Eclipse 로 C언어 짜기 I.lib()/I.lib(etc)2015. 1. 8. 22:07

.. .. ..

.

[펌] : http://mudchobo.tistory.com/73

 

C공부를 다시 해야할 것 같아서 IDE를 설치해야할 일이 생겼습니다. Visual Studio로만 C/C++을 해온 저는 유닉스 환경에서 해야해서 다른 IDE를 찾고 있었습니다. 이클립스를 다운 받을 때 C/C++용도 있었던 것 같았습니다.

그래서 이클립스 홈페이지가니 있더군요. 여기저기 수소문 끝에 유닉스환경에서 할 수 있는 C프로그래밍을 윈도우에서도 구축할 수 있더군요. 이런게 있을 줄이야...

우선 이클립스를 받습니다.
http://www.eclipse.org/downloads/

여기 사이트를 들어가시면 Eclipse IDE for C/C++ Developers 라고 있습니다.
운영체제에 맞는 것을 받으시구요. Linux와 MacOS도 지원하는군요!

받은다음에 적당한 폴더에 압축을 풉니다.

자 그다음 gcc, make 등을 구해야하는데 두가지 종류가 있더군요.(리눅스는 안해줘도 될꺼같군요)
Cygwin랑 MinGW 가 있는데 MinGW로 해보겠습니다. (Cygwin은 이걸로 만든 실행파일을 실행할때 dll파일이 필요하다고 하더군요)

이곳에서 MinGW를 받습니다.
http://www.mingw.org/download.shtml

받은 뒤 실행하면 다음신공하다보면 뭐 설치할 꺼냐고 묻는데 전 잘몰라서 c관련된 컴파일러는 다 설치했습니다. make랑 g++랑 objective c 컴파일러같은거 이거 3개 체크하고 설치했습니다.

그런다음에 패스를 잡아줘야합니다. gcc랑 make 등의 파일이 어디서든 실행이 되어야합니다.

패스잡는것은 비스타기준입니다.
컴퓨터(오른쪽버튼누른뒤 속성) -> 고급시스템설정 -> 고급탭에서 환경변수 클릭!
XP에서도 비슷하게 속성누르면 있을껍니다.

집에 알집이 깔려있다면 위에 알집이 PATH로 잡혀있을껍니다. 요고이 지워줍니다. 그리고 이스트소프트를 막 욕합시다.
시스템변수에 Path를 찾습니다. 그다음 MinGW/bin폴더를 패스를 잡아줍니다.
ex) ......;C:\MinGW\bin //c:\MinGW는 MinGW설치폴더

패스가 제대로 잡혔는지 보려면 시작 -> cmd를 실행해서 gcc를 실행해봅시다.
gcc: no input files라고 나오면 잘 잡힌겁니다.

그리고 이클립스에서는 make.exe파일을 make할 때 쓰는데 MinGW는 mingw32-make.exe파일이 make파일입니다. 그래서 이름을 변경하던가 이클립스 설정을 변경하던가 합니다.

첫번째 방법은 mingw32-make.exe파일을 똑같은 폴더에 복사해서 새이름으로 make로 저장합니다.

두번째 방법은 이클립스에서 변경하는 방법입니다.
Window -> Preferences -> C/C++ -> New CDT project wizard -> Makefile project를 보면

사용자 삽입 이미지

 

중간에 빨간상자부분이 있는데 저 부분을 mingw실행파일에 맞게 바꿔주면 됩니다.

둘중에 하나만 하면 됩니다.

이제 설정은 다 됐습니다. 언제나 그렇듯이 설정이 끝나면 헬로우 월드를 찍어봅시다-_-;
사용자 삽입 이미지

Toolchain은 MinGW로 선택을 합시다. 프로젝트이름은 HelloWorld로...-_-;

HelloWorld프로젝트이름에 오른쪽버튼을 눌러서 New -> Source File 해서 HelloWorld.c 파일을 생성합시다.

HelloWorld.c (Language : c)
#include <stdio.h>

int main(void)
{
    printf("Hello World!");
   
    return 0;
}
 

저렇게 적읍시다. 아 그리고 마지막 } 이거다음에 한칸 띄워주고 그다음칸을 한칸더 생성해줍시다. 그냥 }스페이스바하고 엔터 하고 저장합시다. 안그러면 no newline at end of file 라는 워링이 뜹니다-_-;
검색해보니 뭐 무슨 어쩌구 설명을 하는데 잘모르겠습니다-_-;

컴파일 단축키로 컴파일해봅시다. 저장하고 Ctrl + B를 누릅시다.
컴파일이 완료되면 run단축키인 Ctrl + F11을 누릅시다.

그러면 아래에 Console탭에 Hello World! 라고 뜰껍니다.
컴파일할 때 object파일인 *.o도 만들고 윈도우실행파일인 *.exe도 만들어줍니다.

 

.
:
Posted by .07274.
2015. 1. 7. 22:15

Wireshark pcap 파일 분할 I.lib()/I.lib(etc)2015. 1. 7. 22:15

.. .. ..

 

 

[펌] : http://apollo89.com/wordpress/?p=6900

 

감사합니다 ㅜㅡ

.
:
Posted by .07274.