윈도우에서 제일 사용 하기 편리한것은

 

-- 사용방법 하나 --

 

VisualSVN server 인듯 한다. 직관적이며 설명이 필요 없다. .

 

-- 사용방법 둘 --

 

SVN 서버 + SVN Server Manager 를 사용

 

http://yypbd.com/index.php?menu_id=download&sub_id1=SVNServerManager

 

일단 이 프로그램을 제작해주신 분께 감사드린다.

참 직관 적이다.. 설명이 필요 없다.

SVN서버는 Win32Svn 을 이용했다. 좋다..

 

---------

 

'공부 > SVN사용' 카테고리의 다른 글

iptime svn 서버에 git 연동  (0) 2013.12.24
iptime nas 서버에 SVN 기능이 추가  (0) 2013.12.11
[SVN] tortoisesvn 로 사용 하기  (0) 2012.11.09
[SVN] SVN 용어 정리  (0) 2012.11.09

http://blog.naver.com/PostView.nhn?blogId=lws_best99&logNo=20040620675 정리함

 

--- tortoisesvn 로 사용 정리---

1. tortoisesvn 다운로드 , 한글팩 다운로드

 

2. tortoisesvn 설치 , 한글팩 설치

 

3. 오른쪽 마우스 tortoisesvn 메뉴에서 settings 에서 한글변경

 

4. 사용 하고자 하는 폴더에서 SVN 체크아웃 클릭 ( 서버와 동기 및 최초 파일 가져오기)

4.1. 저장소 URL 을 SVN 서버에 맞추기, 최신 리비젼 옵션 선택

4.2. 사용자명 과 암호 를 입력 해서 접속

4.3. 인증이 이상없으면 체크아웃(DATA가져옴)

- 최초에는 아무 파일이 없기 때문에 아무파일도 생성안됨

 

5. 파일 동기

5.1. 파일을 생성

5.2. 생성된 파일을 선택하고 오른쪽 마우스를 눌러 "추가" 실행 -> SVN 서버에 파일 추가 가능하도록됨

5.3. 오른쪽 마우스를 눌러 "SVN 커밋" 실행 -> 서버로 전송됨

5.4. 전송되면서 간단한 메세지 적을수 있도록 됨 -> 수정내용을 적으면 됨. -> 확인버튼 누름

 

6. 수정 동기

6.1. 생성한 파일을 수정

6.2 생성된 파일을 선택하고 오른쪽 마우스를 눌러 "SVN 업데이트" 실행

-> 다른사용자에의해 수정이 되었는지 먼저 확인하기 위해서임

-> 수정내용 누르고 확인

6.3. 수정한 사람보기 하면 수정항목/내용 볼수 있음

 

 

--- 작업 플로우 ---

 

1. 출근 -> "SVN업데이트" : 동기맞춤

 

2. "SVN업데이트" 후에 "SVN 커밋" : 서버에 일단 업데이트 된것을 동기후에 내자료를 올림

 

3. 내파일 삭제후 "SVN커밋" : 서버의 쓸모없는 파일 삭제

 

4. 파일 서버에 "추가" 는 "SVN커밋" 하면 추가할 파일 목록이 나온다. 이때 파일 등록

 

5. "SVN커밋" "추가" 중에 충돌 발생 처리

5.1 "SVN커밋" 에 발생 : "SVN 업데이트" 후에 "SVN커밋"

5.2 "SVN업데이트"에 발생 : ""(diff)로 틀린부분 수정후 "SVN커밋"

5.3 다른이유로 에러발생시 : 마우스 오른쪽 -> "정리" (Clean up) 실행

 

6. "SVN커밋" -> 퇴근

* 동기 잘하는것이 최성의 방법

 

'공부 > SVN사용' 카테고리의 다른 글

iptime svn 서버에 git 연동  (0) 2013.12.24
iptime nas 서버에 SVN 기능이 추가  (0) 2013.12.11
[SVN] Windows 에서 SVN 서버 사용  (0) 2012.11.09
[SVN] SVN 용어 정리  (0) 2012.11.09

http://mckdh.net/413 의 내용을 정리함

 

--- SVN 용어 ----

리포지토리(Repository / 저장소) : 모든 프로젝트의 프로그램 소스들의 저장소 즉 이 안에 소스가 저장이 된다. (소스의 변경 사항도 모두 저장)


체크아웃 : 저장소에서 소스를 받아옴

커밋(Commit) : 체크아웃 한 소스를 수정, 파일 추가, 삭제 등을 한 뒤 저장소에 저장하여 갱신 하는 것입니다. 전체 리비전이 1 증가하게 된다.

업데이트(Update) : 체크아웃을 해서 소스를 가져 왔더라도 다른 사람이 커밋을 하였다면 소스가 달라졌을 것입니다. 이럴 경우 업데이트를 하여 저장소에 있는 최신 버전의 소스를 가져온다.

리비전(Revision) : 소스 파일등을 수정하여 커밋하게 되면 일정한 규칙에 의해 숫자가 증가 한다. 저장소에 저장된 각각의 파일 버전이라 할 수 있다. Subversion의 경우 파일별로 리비전이 매겨지지 않고 한번 커밋 한 것으로 전체 리비전이 매겨 진다. 리비전을 보고 프로젝트 진행 상황을 알 수 있다.

임포트(Import) : 아무것도 들어있지 않은 저장소에 맨 처음 소스를 넣는 작업이다.

익스포트(Export) : 체크아웃과는 달리 버전 관리 파일들을 뺀 순수한 소스 파일을 받아올 수 있다. 오픈소스 프로젝트의 경우 소스를 압축하여 릴리즈 할 때 사용한다.

 

'공부 > SVN사용' 카테고리의 다른 글

iptime svn 서버에 git 연동  (0) 2013.12.24
iptime nas 서버에 SVN 기능이 추가  (0) 2013.12.11
[SVN] Windows 에서 SVN 서버 사용  (0) 2012.11.09
[SVN] tortoisesvn 로 사용 하기  (0) 2012.11.09

아직 인스톨만 알겠다.

 

# ipkg install gitosis

그이후에 어떻게 설정해야 하는지 확인 해야 한다.

http://wiki.qnap.com/wiki/Gitosis

연동은 tortoisegit 을 이용하면 된단다..

 

쩝..

 

QNAP TS-439PRO에 SVN 서버 설치

 

 

내부 소스 관리를 위해 회사에서 TS-439pro II+ 를 구매해서 사용중이다.

회사 내부 프로젝트를 위해 SVN을 이용해보기 위해 서버를 TS-439pro II+ 에 구축해 보기로 했다.

TS-439pro 를 구매했던 한성 SMB 쪽에 문의를 해보니 관련 자료가 없고 잘모른다는 답변을 받아결국은 삽질을 시작했다.

여러 자료를 찾아 봤는데 일본쪽은 설명이 잘나와있었고 QNAP의 wiki 사이트에 설명이 잘 나와있었다. 나름대로 설치 과정을 정리 해보려고 한다.

 

1. TS-439pro II+ 웹화면에서 OPTware ipkg 를 다운받아 인스톨 한다.

 

관련설명: http://wiki.qnap.com/wiki/Install_Optware_IPKG

---- 다음과정부터는 TS-439pro II+ 에 admin 계정으로 ssh를 이용해 로그온 해서 처리 ----

관련설명 : http://wiki.qnap.com/wiki/Subversion

 

2. svn 은 인스톨 한다.

# ipkg update
# ipkg install svn

3. 설치 디렉토리를 확인한다

 

# df
Filesystem Size Used Available Use% Mounted on
/dev/ram 124.0M 107.3M 16.6M 87% /
tmpfs 32.0M 128.0k 31.9M 0% /tmp
/dev/sda4 310.0M 170.1M 139.8M 55% /mnt/ext
/dev/md9 509.5M 45.2M 464.3M 9% /mnt/HDA_ROOT
/dev/md0 915.4G 17.0G 898.4G 2% /share/MD0_DATA
/dev/loop0 649.4M 649.4M 0 100% /share/MD0_DATA/ofiice2007

-> /dev/md0 즉 /share/MD0_DATA 에 설치할 공간이 많다.

-> Qnap의 다른장비를 사용시 공간이름이 다르므로 주의 필요

 

4. svn 공유 디렉토리 만들기

 

# mkdir /share/MD0_DATA/svn

 

5. 등록

 

# svnadmin create /share/MD0_DATA/svn
-> 디렉토리에 여러 설정파일이 자동으로 생긴다.
-> 아래처럼 생겼느지 확인 필요
[/share/MD0_DATA/svn] # ls
README.txt conf/ db/ format hooks/ locks/

# /opt/bin/svnadmin create /share/MD0_DATA/svn/prj_0
-> 주의 : path가 자동설정이 되어 있지 않으면 실행시 주소를 정확하게 넣어야 한다.

 

6. 설정하기

 

-> 아래 파일을 설정해야 한다.

[/share/MD0_DATA/svn] # cd conf
[/share/MD0_DATA/svn/conf] # ls
authz passwd svnserve.conf


6-1 . passwd 설정

 

-> vi로 passwd 를 열어 편집 한다.
-> 사용할 ID PASSWD 설정 (주의 공백삭제)
[users]
test=test
sally= sallyssecret

-> id: test , password: test 로 설정한것임

 

6-2. 접근권한 설정

 

-> vi 로 svnserve.conf를 열어 편집한다.
-> 아래 3가지 기본적으로 편집 한다.
anon-access = none
auth-access = write
password-db = passwd

#authz-db = authz

-> anon-access : none(아무나사용못함),read(아무나 읽음)
-> auth-access : 인증된 사람만 권한줌
-> password-db : 패스워드사용

-> authz-db : 구릅을 사용하고자 할때 사용하고 그 설정 파일은 authz 다 이파일 수정하면됨

-> 아래내용은 authz 내용

[/]
*=r

[groups]
svn_p=test1,test2
svn_p1=test3,test4

[svn_prj1:/]
@svn_p1=rw

[svn_prj:/]
@svn_p=rw

---> 설명

[/] : 모든 디렉토리
*=r : 모든 사람 읽기 가능

[groups] : 두개의 구릅 생성
svn_p=test1,test2 : 첫번 구릅명 과 그 구릅 사용자 설정
svn_p1=test3,test4

[svn_prj1:/] : 하위 디렉토리에 어떤 사용자가 설정되고 그 권한 설정
@svn_p1=rw

[svn_prj:/]
@svn_p=rw

 

7. SVN 시작

-> 3690 port로 접근가능하게 /share/MD0_DATA/svn/ 디렉토리 서비스 시작

# svnserve -d -r /share/MD0_DATA/svn/

-> port 설정하고 싶으면

# svnserve -d --listen-port=3690 -r /share/MD0_DATA/svn

-> path 가 설정안되어 있으면

# /opt/bin/svnserve -d --listen-port=3690 -r /share/MD0_DATA/svn/prj_0

 

8. SVN 동작중인지 확인 ..

 

# ps | grep svn
12234 admin 924 S svnserve -d -r /share/MD0_DATA/svn/

 

9. SVN 죽이고 싶으면

# kill -9 <process_id>
-> process_id 는 위에서 12234

 

10. boot 시에 자동 실행..

(관련설명 : http://wiki.qnap.com/wiki/Autorun.sh )
* 주의 : 실제로는 어떤문제인지 모르겠으나 되지 않았음 문제 확인필요합니다.

리부팅할일이 많이 없으니 혹시 리부팅되면 수작업으로 다시 살리는것으로 하려고함

베치화일 만들어야 할듯

 

10-1. boot에 사용하는 autorun.sh 수정 수정을위해 디렉토리 마운트

# mount -t ext2 /dev/sdx6 /tmp/config

 

10-2. autorun.sh 수정

# vi /tmp/config/autorun.sh

 

10-3. 수정

#!/bin/sh
(sleep 60; /opt/bin/svnserve -d --listen-port=3690 -r /share/MD0_DATA/svn/)&

 

10-4. 실행권한 주기

# chmod +x /tmp/config/autorun.sh

 

10-5. unmount

# umount /tmp/config


이상의 설정 과정을 거치고 TortoiseSVN(거북이SVN) 으로 연결시 잘 연결 됩니다.

접속주소는 >> svn://ip어드레스

간단한 autocad 기능을 정리해보고자 한다.

잘은 모르지만 꼭 필요할때 간단하게 쓸만한 내용이다

아이콘을 사용해도 되나 기본적으로 버전별로 아이콘이 달라져서 기억 하기 어렵단다

그래서 명령어를 기억하는것이 좋을듯 ..

-------------------------------------------------------------------------------

1. 용지 사이즈 정의

- 최초 작성하고자 하는 문서를 정의 해야한다.

NEW -> MVsetup -> N -> 미터법 -> 축척 -> 용지폭 (가로 세로 따로 입력)

A0:841 x 1189,A1:594 x 841,A2:420 x 594 , A3:297 x 420 , A4:210 x 297

2. 기본 제도에 필요한 설정

Osnap : 설정하는 부분에 대한 옵션을 정의, 필요에 따라 수정해야함..

특히 스냅은 제도시 선택포인트 설정이 잘되도록 하는 부분이라 잘 설정해야함

 

 

 

3. 편집 용지의 외각 정의

Limits : 용지 안에서만 움직이도록 설정 ( 이안에서만 케드 작업 가능)

우선 외각에 라인(line)을 긋고 사용하고자 하는 포인트를 찍어서 선택하면됨

(hit)화면 모양 전체모양으로 보기 Zoom -> all

Layer : 작업 하고자 하는 레이어 추가

사용하고자 하는 레이어이름/배선색/사용여부 등을 체크 하면됨

 

 

 

우선 기본 외각선만 보이기위해 표지 레이어 작성

기준선 작업을 하기위한 보조선 라인 (보조선은 실제 작업은 하지 않고 기준선만 두고 제고를 편하게 하는데 사용한다... 초기 보조선 부분에 기준선을 많이 넣어두면 제도하기 편리)

도면 을 여러면 두고 실제 작업을 한다.

 

 

 

4. 제도에 필요한 명령어

Erase : 필요없는 것은 지움

Offset : 선택한 객체를 얼마마큼 이동(복사) ,기준선을 선택하고 그선에서 오른쪽 또는

왼쪽을 찍으면 설정된 offset 값 만큼 이동되어 생성된다.

Trim : 기준선을 선택하고 그 선을 기준으로 옆으로 지울선을 선택하며 선택된 부분을 삭제됨

Pedit : 여러개의 LINE을 결할할때사용,

Pedit -> 선을 선택 -> Y -> 결합 -> 결합할 다른선을 선택 -> esc -> 결합됨

결합된 것은 분해 explode 를 사용

Copy : 복사

Move : 이동

Mirror : 거울처럼 복사함

Array : 선택된 것을 여러개 복사해서 만들때 사용

 

 

U : 취소

fillet : 꺽어진 부분을 약간 타원형으로 변경할때 사용

 


 

 


<2014-5-26 추가 수정>

참고 사이트

http://blog.daum.net/6332park/4765119

 

http://forum.falinux.com/zbxe/index.php?document_srl=531340&mid=note&order_type=desc&page=2&sort_index=readed_count

 

스케치

L / 선 그리기 / LINE
XL/ 무한선 그리기 /XLINE
PL/연속선그리기/POLINE
SPL/곡선그리기/SPLINE
RAY/광선그리기/RAY
ML/다중행 선 그리기/MLINE
REC / 사각형그리기/RECTANGLE
POL/다각형그리기/POLYGON
C/원그리기 /CIRCLE
A/원호 그리기 /ARC
EL/타원그리기/ELLIPSE
DO/도넛그리기/DONUT
 
편집

E / 지우기 /ERASE
TR / 자르기 /TRIM ( TRIM명령상에서 SHIFT를 누르고 마우스 동작하면, EXTEND 명령과 동일하게 됨)
U/되돌리기
REDO/되살리기(1번만)
CO / 복사 /COPY
O / 옵셋/OFFSET
MI / 대칭반사/MIRROR
M / 이동 /MOVE
SC / 축소 확대하기/SCALE
EX / 연장하기 /EXTEND
RO / 회전하기 /ROTATE
S / 늘리기/STERTCH
AR / 배열 /ARRAY
F / 라운딩 /FILLET
CHA / 모따기/CHAMFER
X / 분해하기/EXPLODE
BR / 중간자르기/BREAK
 

문자

T / 문자 /TEXT
DT / 문자 /DTEXT
MT / 다중행문자 /MTEXT
ST / 문자스타일/STYLE
ED / 문자수정/DDEDIT
SP / 문자검사/SPELL
D / 치수스타일설정/DDIM
 

레이어/해치/블록

LA / 레이어설정/LAYER
LT / 선검색/LINETYPE
B / 블록 /BLOCK
W / WBLOCK
I / 블록불러오기/INSERT
H / 해치 /HATCH
BO / 경계영역설정/BOUNDARY

특성/환경

QSAVE / 저장하기
NEW / 새로운도면
OPEN / 열기
Z / 줌 확대 축소/ZOOM
P / 화면이동 /PAN
CH / 특성변경메뉴구성/DDCHPROP
OP / 옵션설정/OPTIONS
DWGPROPS / 도면정보/DWGPROPS
SE / 스냅설정/OSNAP
TO / 도구막대부르기 /TOOLBAR
RE / 화면해상도좋게 /REGEN
R / 화면다시그리기/REDRAW
TIME / 시간정보
SAVETIME / 자동저장

 

 

<20180424 추가>

선그리기 선택하고 좌표 이동을 위해서

 

다음위치 지정 부분에서 0,0  하면 0,0으로 이동한다.

 

 

 

 

'공부 > AUTOCAD' 카테고리의 다른 글

step 파일 autocad에서 읽기  (0) 2017.11.27
PAD에서 autocad 파일 읽기 관련 내용  (0) 2013.10.25

외부 인터럽트 설정

 
 
-----------------------------------------------------------------------------------------
 
int main(void)
{
    uint8_t ch;
 
    /* System Clocks Configuration */
    RCC_Configuration();  //시스템 클럭을 살리고 주변 프리페럴럴 를 살린다.
 
    RCC_GetClocksFreq(&rcc_clocks); //현재 설정된 클럭을 rcc_clocks 스트럭쳐로 가져 온다.

    /* NVIC configuration */
    NVIC_Configuration();   //인터럽트 백터 테이블을 선언 한고, 우선순위 선언, 인터럽트 살리기 

    /* Configure the GPIO ports */
    GPIO_Configuration();   //기능에 따라 GPIO를 선언하고 동작 시킨다.

    /* EXTI configuration */
    EXTI_Configuration();   //외부 인터럽트를 위해 설정 한다.


-----------------------------------------------------------------------------------------
 
EXTI_Configuration();   함수 는 외부 인터럽트를 설정 한다.

 
 
외부 인터럽트는 총 19개의 edge detecter 구성 되어 event 나 인터럽트 처리 에 사용된다.
 rising, falling 또는 두개 한꺼번에 동작 가능 하도록 설정 할수 있습니다.

PORTA0,PORTB0 와 같이 여러개의 port의 같은 bit 는 한개의 인터럽처 처리가 된다.
또한 16번 인터럽트는 PVD,17번 RTC,18번 USB wakeup 로 사용된다.
NVIC에서 인터럽트를 사용하겠다고 설정하고,이함수에서 특성을 설정 하면되고

해당 인터럽트 백더 함수에 해당 인터럽트가 발생되면 처리될 소스를 코딩하면 된다.

 
 
-----------------------------------------------------------------------------------------
 
void EXTI_Configuration(void)
{
    EXTI_InitTypeDef EXTI_InitStructure;
 
    /* Configure gpio as input : Button Left-WKUP */
    /* Connect EXTI Line to gpio pin */
    //특별한 용도로 사용함을 설정 한다.
    GPIO_EXTILineConfig(GPIO_PORTSOURCE_KEY, GPIO_PINSOURCE_KEY1);
 
    /* Configure EXTI Line to generate an interrupt */
    EXTI_InitStructure.EXTI_Line    = GPIO_EXTI_Line_KEY1;  //특성 설정을 한다.
    EXTI_InitStructure.EXTI_Mode    = EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure); // 인터럽트를 활성화 한다.


-----------------------------------------------------------------------------------------
 
 
 
GPIO_EXTILineConfig(); 는 특수 모드로 사용되는것을 설정하고

EXTI_Init(); 외부 인터럽트를 설정 한다.

 

 

'공부 > STM32' 카테고리의 다른 글

관심 가는 STM32F30x  (0) 2012.11.30
STM32/STM32 시리얼 또는 USB 다운로드 지원 툴  (0) 2012.11.13
[STM32] Source 보기 6  (0) 2012.11.09
[STM32] Source 보기 5  (0) 2012.11.09
[STM32] Source 보기 4  (0) 2012.11.09

GPIO 설정

 
 
------------------------------------------------------------------------------------
 
int main(void)
{
    uint8_t ch;
 
    /* System Clocks Configuration */
    RCC_Configuration();  //시스템 클럭을 살리고 주변 프리페럴럴 를 살린다.
 
    RCC_GetClocksFreq(&rcc_clocks); //현재 설정된 클럭을 rcc_clocks 스트럭쳐로 가져 온다.

    /* NVIC configuration */
    NVIC_Configuration();   //인터럽트 백터 테이블을 선언 한고, 우선순위 선언, 인터럽트 살리기 

    /* Configure the GPIO ports */
    GPIO_Configuration();   //기능에 따라 GPIO를 선언하고 동작 시킨다.
 
------------------------------------------------------------------------------------
 
 
 
GPIO_Configuration();   을 살펴보면 GPIO 의 특성을 설정하고 동작모드 설정한다.

 
 
------------------------------------------------------------------------------------
 
void GPIO_Configuration(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;    //어떤 pin를 어떤 스피드로 어떤기능으로 할것인가?
 
    // UART configuration ...
    /* Configure USARTx_Tx as alternate function push-pull */
    GPIO_InitStructure.GPIO_Pin   = GPIO_USART_Tx_Pin;  //pin 사용 bit 를 선언 한다.
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   //output mode에서  max speed 선언
    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_PP;    //pin 이 어떤 상태로 동작하는지선언,
    GPIO_Init(GPIO_USART, &GPIO_InitStructure);         //GPIO_USART = GPIOA
 
    /* Configure USARTx_Rx as input floating */
    GPIO_InitStructure.GPIO_Pin  = GPIO_USART_Rx_Pin;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIO_USART, &GPIO_InitStructure);
 
 
 
------------------------------------------------------------------------------------
 
 
 
몇가지 선언된것을 찾아보면 아래와 같다.

 
 
typedef enum
{
  GPIO_Speed_10MHz = 1, //output mode, max speed 10Mhz
  GPIO_Speed_2MHz,      //output mode, max speed 2Mhz
  GPIO_Speed_50MHz      //output mode, max speed 50Mhz
}GPIOSpeed_TypeDef;

 
typedef enum
{ GPIO_Mode_AIN = 0x0,              //Analog input
  GPIO_Mode_IN_FLOATING = 0x04,     //Floating input (reset 후 최초 상태 )
  GPIO_Mode_IPD = 0x28,             //input pull-down mode
  GPIO_Mode_IPU = 0x48,             //input pull-up mode
  GPIO_Mode_Out_OD = 0x14,          //general output open drain mode
  GPIO_Mode_Out_PP = 0x10,          //general output push-pull mode
  GPIO_Mode_AF_OD = 0x1C,           //alternate function output open-drain
  GPIO_Mode_AF_PP = 0x18            //alternate function output open-drain
}GPIOMode_TypeDef;

 
 

 

'공부 > STM32' 카테고리의 다른 글

STM32/STM32 시리얼 또는 USB 다운로드 지원 툴  (0) 2012.11.13
[STM32] Source 보기 7  (0) 2012.11.09
[STM32] Source 보기 5  (0) 2012.11.09
[STM32] Source 보기 4  (0) 2012.11.09
[STM32] Source 보기 3  (0) 2012.11.09

+ Recent posts