03.업/08.개발환경2024. 1. 3. 11:48

시스템변수가 수정안될 때 
Powershell > systempropertiesadvanced

 

Posted by 봄날의차
03.업/08.개발환경2023. 12. 6. 15:49

소스트리로 git형상관리사용시에 종종 저장소 데이터가 예전으로 돌아가는 경우가 발생한다.

 

https://kwangho9-develope.blogspot.com/2016/11/git-clienttortoisegit.html

 

Git Client(TortoiseGit) 사용법

프로그램 설치. TortoiseGit를 사용하기 위해서는 Git를 설치해야만 한다. Git for windows 에 접속해서 "Git-2.10.2-64-bit.exe"을 받아서 설치한다. 특별히 설정할 내용이 없기 때문에 "다음"을 선택하면 된...

kwangho9-develope.blogspot.com

 

클라이언트를 바꿨다.

 

Posted by 봄날의차
03.업/08.개발환경2023. 9. 4. 17:26

***Application 빨간엑스뜨면서 실행이 안될 경우는 build.gradle이 프로젝트에 연결이 안된 경우란다.

 

1.idea 폴더 삭제

2.intelliJ 재실행

3.build.gradle 프로젝트에 연결

- 좌측 메뉴에서 build.gradle더블클릭 : gradle페이지 우클릭 > gradle project 연결..?

: 연결이 되면 gradle project 연결 메뉴가 안보인다.

4.재실행 후 우측에 gradle탭에서 다시로드 아이콘으로 다시 로드 시킨다.

 

 

Posted by 봄날의차
03.업/08.개발환경2023. 7. 12. 13:13

[펌] https://may9noy.tistory.com/604

dir /b >list.txt

관리자권한의 cmd를 열어서 해당 디렉토리로 이동 후 작성한다.

PowerShell에서 안되네..

 

Posted by 봄날의차
03.업/08.개발환경2023. 5. 24. 11:44

00.웹서버참고.hwp
0.44MB

>>[톰캣] MultiPart 설정하기<<

https://mollangpiu.tistory.com/206

/Servers/Tomcat v7.0 Server at localhost-config/context.xml

1.<Context allowCasualMultipartParsing="true">

2.캐시삭제

<Resources cachingAllowed="true" cacheMaxSize="100000"></Resources>

3.주석으로 한글이 들어가면 설정 파일이 로드가 안된다.

 

 

>>톰캣 루트설정 <<

1.war파일 위치

C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps

ROOT폴더가 있는 폴더에 war파일을 둔다.


2.C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf\
server.xml

- <!--<Server port="-1" shutdown="SHUTDOWN">-->

<Server port="8005" shutdown="SHUTDOWN">

 

- 호출 url 수정 웹루트설정

<Service name="Catalina">

...

<Connector port="8081" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" address="192.168.0.11" />

 

<Context docBase="drawcon" path="/" reloadable="true" source="org.eclipse.jst.jee.server:drawcon"/>

 

>>톰캣콘솔에 톰캣에서 내보내는 한글로그 깨짐<<

%TOMCAT_HOME%\conf\logging.properties 파일에서 수정을 한다.

https://dejavuhyo.github.io/posts/tomcat-console-encoding/

UTF-8 => EUC-KR

그래도 계속 한글이 깨져서 encoding을 모두 주석처리해서 한글이 제대로 나온다.

 

# 톰캣 startup.bat 실행시 한글 깨질 경우

https://izagood.tistory.com/41

cmd창을 열어 아래를 입력 엔터 후 재실행하면 된다.

REG ADD HKCU\Console\Tomcat /v CodePage /t REG_DWORD /d 65001

 

%TOMCAT_HOME%\conf\logging.properties

설정된 인코딩이 UTF-8 일 때

REG ADD HKCU\Console\Tomcat /v CodePage /t REG_DWORD /d 65001

#C:\Program Files\Apache Software Foundation\Tomcat 9.0\bin\catalina.bat

line 240

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% -Dfile.encoding=UTF-8"

set "JAVA_OPTS=%JAVA_OPTS% -Dfile.client.encoding=UTF-8 -Dclient.encoding.override=UTF-8"

 

>>Tomcat 설정<<

Tomcat 설정 테스트 중에

"심각: 셧다운 포트가 설정되지 않았습니다. OS 시그널을 통해 서버를 셧다운합니다. 서버는 아직 셧다운되지 않았습니다."

와 같은 오류가 발생

 

https://itteamb.blogspot.com/2020/12/tomcaterror-os.html

netstat -a -o -n

 

실행 중인 Tomcat 다운 : taskkill /f /pid "조회한 PID"

Tomcat service.xml의 Shutdown 포트 변경 (예시:"8005") 후 재실행

 

 

Posted by 봄날의차
03.업/08.개발환경2023. 5. 3. 14:27

한글이 윈도우 2012 의 iis를 웹서버로 하고 톰캣8.0.5를 와스로 설정해서 올라간 웹모듈환경에서 토스결제시에 한글이 깨지는 현상이 발생했다.

 

HttpURLConnection으로 연결하여 InputStreamReader로 읽어올 때 한글 깨짐 방지

1.order***.jsp


...
<meta charset="UTF-8">
...

	<script type="text/javascript">
		/*-- toss payments 결제 모듈 --*/
		const clientKey = '';//운영
		const tossPayments = TossPayments(clientKey);
		
		$(function() {
			/* 취소하기 */
			$("#payCancl").on("click", function(e) {
				e.preventDefault();
				history.back();
			});
			
			/* 결제하기, 토스 결제창 생성 */
			/*  */
			$("#payBtn").on("click", function(e) {
				e.preventDefault();
				
				/* 인자 값 설정 */
				const pay_method = $("#pay_method option:selected").attr("data-name"); // 결제 수단 파라미터
				const amount = ${f_fee };
				const uuid = self.crypto.randomUUID(); // 주문 ID
				const orderName = $("#orderName").text();
				const customerName = $("#customerName").text();
				const customerEmail = $("#customerEmail").text();
				const customerTel = $("#customerTel").text();
				const f_class = $("#f_class").val(); 
				/* const successUrl = encodeURI("https://www.sclass.co.kr/tossPay/success");
				const failUrl = encodeURI("https://www.sclass.co.kr/tossPay/fail"); */
				/* 
					successUrl failUrl : 반드시 작은 따옴표로 설정해야함.에러가나서 결제창이 안뜬다. 					
					successUrl: 'http://localhost:8080/tossPay/success',
					failUrl: 'http://localhost:8080/tossPay/fail',
				*/
				/* 결제 창 생성 */
				tossPayments.requestPayment( pay_method, { 
					amount: amount,
					orderId: uuid,
					orderName: orderName,
					customerName: customerName,	
					successUrl: 'http://localhost:8080/tossPay/success',
					failUrl: 'http://localhost:8080/tossPay/fail',
				})
				.catch(function (error) {
					if (error.code === 'USER_CANCEL') {
						// 결제 고객이 결제창을 닫았을 때 에러 처리
						console.log('USER_CANCEL');
					} else if (error.code === 'INVALID_CARD_COMPANY') {
						// 유효하지 않은 카드 코드에 대한 에러 처리
					}					
				});
			});
		});
		/*--// toss payments 결제 모듈 --*/
	</script>

<meta charset="UTF-8">

 

2.controller

	@RequestMapping(value = "/tossPay/{state}", method = {RequestMethod.GET })
	public ModelAndView tossPayResultController(
									  @PathVariable("state") String state
									, @RequestParam HashMap<String, Object> hashMap
									, HttpSession session
									, ModelAndView mav) {
		HashMap<String, Object> result = new HashMap<String, Object>();
		
		try {
			
			if( "success".equals(state) ) {
				/* 결제 승인 요청 성공 */
				
				/* 결제 승인 요청하기 */
				HashMap<String, Object> payResultMap = paymentService.tossPaymentsConfirm(hashMap);
				....

				switch (String.valueOf( payResultMap.get("method") ) ) {
				case "카드":
                ...
					break;
				default:
					break;
				}
                
				paymentService.insertTbClassPayment(paymentVo);
				result.put("state", "success");
				result.put("msg", "");
				
				mav.setViewName("redirect:/order_result?paymentSeq="+paymentVo.getF_seq());
                ...
		}
		
		return mav;
	}

 

3.service

	public HashMap<String, Object> tossPaymentsConfirm(HashMap<String, Object> hashMap) throws Exception {
		
		String secretKey = ""; // api 시크릿 키
		URL url = new URL("https://api.tosspayments.com/v1/payments/confirm");
		HttpURLConnection con = null;
		
		con = (HttpURLConnection)url.openConnection();
		con.setUseCaches(false);
	    con.setDoOutput(true);
	    con.setDoInput(true);
		String AuthorizationHeader = "Basic " + Base64Utils.encodeToString( (secretKey+":").getBytes() );   
	    con.setRequestProperty("Authorization", AuthorizationHeader);
	    con.setRequestProperty("Content-Type", "application/json");
	    con.setRequestMethod("POST");
	    con.setDoOutput(true);
	    
	    DataOutputStream wr = null;
	    wr =  new DataOutputStream(con.getOutputStream());
	    BufferedReader br = null;
	    InputStreamReader inp = null;
	    
	    HashMap<String, Object> result = null;
	    try {
			ObjectMapper objectMapper = new ObjectMapper();
	        String jsonBody = objectMapper.writeValueAsString(hashMap);
	        
	        wr.write(jsonBody.getBytes());
	        wr.flush();
	        wr.close();
			
	        int responseCode = con.getResponseCode();
	        
	        if(responseCode == 200) { // 정상 호출
	        	inp = new InputStreamReader(con.getInputStream(), "UTF-8");
	            br = new BufferedReader(inp);
	        } else { // 에러 발생
	        	inp = new InputStreamReader(con.getErrorStream(), "UTF-8");
	            br = new BufferedReader(inp);
	        }

	        String inputLine;
	        StringBuffer response = new StringBuffer();
	        while ((inputLine = br.readLine()) != null) {
	            response.append(inputLine);
	        }
	        
	        result = objectMapper.readValue(response.toString(), HashMap.class);
	    } catch (Exception e) {
			throw e;
		} finally {
			if (wr != null) wr.close();
			if (br != null) br.close();
			if (inp != null) inp.close();
			if (con != null) con.disconnect();
		}
	    
	    return result;
	}

4.server.xml

 <Connector ...URIEncoding="UTF-8" .../>

5.web.xml

<filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
		<!--
        <async-supported>true</async-supported>
		-->
	    <init-param>
		    <param-name>ignore</param-name>
		    <param-value>false</param-value>
	    </init-param>
    </filter>
	<filter-mapping>
	  <filter-name>encodingFilter</filter-name>
	  <url-pattern>/*</url-pattern>
	</filter-mapping>
	...
</filter>

========================================================================

IIS-Tomcat 통합 서버에서 입력 스트림으로 받은 데이터가 한글로 깨져 있다면 인코딩이나 문자셋 설정이 잘못된 경우일 가능성이 높습니다. 데이터를 올바르게 인코딩하려면 다음 단계를 따르십시오.

 

1.웹 애플리케이션 구성에 올바른 인코딩이 설정되어 있는지 확인하십시오. 한국어의 경우 일반적인 인코딩은 UTF-8입니다. web.xml 파일에서 <web-app> 요소 내에 다음 코드 조각을 추가합니다.

<filter>

    <filter-name>encodingFilter</filter-name>

    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>

    <init-param>

        <param-name>encoding</param-name>

        <param-value>UTF-8</param-value>

    </init-param>

    <init-param>

        <param-name>ignore</param-name>

        <param-value>false</param-value>

    </init-param>

</filter>

<filter-mapping>

    <filter-name>encodingFilter</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>

 

2.HTML 파일에도 올바른 인코딩이 지정되어 있는지 확인하십시오. HTML 파일의 <head> 태그 내에 다음 줄을 추가합니다.

 

<meta charset="UTF-8">

 

3.IIS 서버에도 올바른 인코딩 설정이 있는지 확인합니다. IIS 관리자에서 웹 애플리케이션으로 이동하고 "구성 편집기"를 엽니다. "system.webServer/globalization"에서 "requestEncoding" "responseEncoding" 특성을 "UTF-8"로 설정합니다. 65001

: 이부분은 설정부분을 못 찾아서 넘어갔다.

 

4.Java 코드를 사용하여 입력 스트림을 읽거나 쓰는 경우 올바른 인코딩을 지정해야 합니다. 예를 들어 입력 스트림을 읽을 때 다음 코드를 사용할 수 있습니다.

 

InputStreamReader isr = new InputStreamReader(inputStream, "UTF-8");

BufferedReader br = new BufferedReader(isr);

 

5.여전히 문제가 발생하면 데이터 소스(: 데이터베이스, 파일 또는 외부 서비스)가 올바른 인코딩을 사용하고 있는지 다시 확인하십시오.

 

이러한 변경 사항을 구현한 후 새 설정을 적용하려면 Tomcat IIS 서버를 모두 다시 시작하십시오. 이렇게 하면 IIS-Tomcat 통합 서버에서 받은 한국어 데이터의 인코딩 문제가 해결됩니다.

 

 

IIS 인코딩 설정 관련 UTF-8 한글 깨짐 현상 해결(IIS 설정)

https://server-talk.tistory.com/66

ASP : 코드페이지 > 65001 utf-8로 나온다.

 

'03.업 > 08.개발환경' 카테고리의 다른 글

[펌]탐색기 파일목록 내보내기  (0) 2023.07.12
톰캣설정 및 톰캣콘솔 한글로그 안깨지고 나오게 하기  (0) 2023.05.24
github clone  (0) 2023.01.28
github 정보  (0) 2023.01.09
유닉스기초명령어사용법  (0) 2022.12.27
Posted by 봄날의차
03.업/08.개발환경2023. 1. 28. 12:03

>>github clone<<

-로컬에 부모 디렉토리 아래 클론하기

1.부모디렉토리 생성

2.github접속

3.해당 저장소의 <>code 클릭

4.Local > https : Open with Github Desktop

 

https://github.com/digimon1740/fastcampus-kotlin-basic

 

code > local > https : Open with Github Desktop 으로 로컬에 다운로드함

 

 

폴더선택 후 클린 클릭해서 로컬에 해당 폴더에 하위폴더로 생성된다

-로컬에 부모 디렉토리 아래 클론하기

1.부모디렉토리 생성

2.github접속

3.해당 저장소의 <>code 클릭

4.Local > https : Open with Github Desktop

 

https://github.com/digimon1740/fastcampus-kotlin-basic

code > local > https : Open with Github Desktop 으로 로컬에 다운로드함

 

폴더선택 후 클론 클릭해서 로컬에 해당 폴더에 하위폴더로 생성된다

 

Posted by 봄날의차
03.업/08.개발환경2023. 1. 9. 17:42

01.Git입문.hwp
0.48MB

https://edu.goorm.io/lecture/4661/git-and-github-입문-by-코드스쿼드

초심자를 위한 github 사용법 30분만에 배우기

 

git이란?

형상관리 시스템(version control system)의 한 종류.주로 개발자들이 프로그램과 관련된 파일들을 저장하는데 사용.

게임의 세이브 포인트와 유사한데, 언제든지 저장 시점으로 되돌아 갈 수 있다.

커밋(commit)

 

스테이지에 올린다.(add)

커밋하기 전에 저장을 원하는 파일들을 묶는 일을 한다.스테이지에 파일을 올린다라고 한다.

github에 업로드(push)

커밋을 하면 이제 현재 작업 내용의 세이브 데이터가 내 컴퓨터에 저장된다.

깃허브에 업로드하면 다른 사람과 공유할 수 있고 내컴퓨터의 데이터가 날라가도 복구할 수 있다.

 

>>레파지토리 삭제<<

settings에서 레파지토리 삭제 할 수 있다.

 

>>레파지토리 접근자 변경<<

settings >

https://jane-aeiou.tistory.com/78

Change repository visibility

This repository is currently private.

 

레파지토리 생성 ===================================================

1.https://github.com/ 계정생성 : https://github.com/계정?tab=repositories

2.Github Desktop 다운로드 설치하기

3.로컬에 작업폴더[레파지토리] 생성

: .github 저장소 클론 : 내문서 아래에 저장소가 생긴다.주의하기.

git연결전에 작업폴더[레파지토리] 구성하기 ?

4.내 컴퓨터의 내문서 아래에 생성된 프로젝트 디렉토리에서 파일 생성 및 작업 완료

5.github 저장소에 레파지토리 생성 안한 상태에서 로컬의 폴더를 폴더째로 push 하기

Github Desktop에 상태에 따라 파일목록이 올라온다. 커밋할 파일들 선택해서 스테이지에 올리기 push

6.푸시하기(push)

7.github.com/아이디/프로젝트 링크를 통해 정상적으로 업로드 되어 있는지 확인

https://github.com/sensewake/04.PaaS-TA.git

https://github.com/sensewake/sparta-myhoneytip-yak.git

 

깃허브 저장소 생성 파일업로드 ===================================================

1.https://github.com/ 계정생성 : https://github.com/계정?tab=repositories

2.new repository

3.create a new repository

4.create repository를 하면 빠른 생성 스크립트가 표시된다.

README.md 파일 없이 create repository를 해야 생성 스크립트가 표시된다.

 

https://github.com/sensewake/sparta-myhoneytip-yak.git

 

>>Visual Studio Code 해당 프로잭트 터미널 또는 커맨드창에서 스크립트 진행

 

echo "# sparta-myhoneytip-yak" >> README.md

git init

git add README.md

git commit -m "first commit"

git branch -M main

git remote add origin https://github.com/sensewake/sparta-myhoneytip-yak.git

git push -u origin main

 

여기까지 하면 원격지에 저장소가 생성

 

5.GitHubDeskTop에서 해당 레파지토리에 파일들을 Commit > Push > Ftech origin을 확인한다.

 

git이란?

형상관리 시스템(version control system)의 한 종류.주로 개발자들이 프로그램과 관련된 파일들을 저장하는데 사용.

게임의 세이브 포인트와 유사한데, 언제든지 저장 시점으로 되돌아 갈 수 있다.

커밋(commit)

 

스테이지에 올린다.(add)

커밋하기 전에 저장을 원하는 파일들을 묶는 일을 한다.스테이지에 파일을 올린다라고 한다.

github에 업로드(push)

커밋을 하면 이제 현재 작업 내용의 세이브 데이터가 내 컴퓨터에 저장된다.

깃허브에 업로드하면 다른 사람과 공유할 수 있고 내컴퓨터의 데이터가 날라가도 복구할 수 있다.

 

>>레파지토리 삭제<<

settings에서 레파지토리 삭제 할 수 있다.

 

>>레파지토리 접근자 변경 private > public 접근자 변경

프로젝트의 settings > visibility에서 변경한다.

settings >

https://jane-aeiou.tistory.com/78

Change repository visibility

This repository is currently private.

 

절차

sensewake@gmail.com

1.https://github.com/ 계정생성 : https://github.com/계정?tab=repositories

2.new repository

3.create a new repository

4.create repository를 하면 빠른 생성 스크립트가 표시된다.

 

README.md 파일 없이 create repository를 해야 생성 스크립트가 표시된다.

 

https://github.com/sensewake/sparta-myhoneytip-yak.git

 

>>Visual Studio Code 해당 프로잭트 터미널에서 스크립트 진행

 

echo "# sparta-myhoneytip-yak" >> README.md

git init

git add README.md

git commit -m "first commit"

git branch -M main

git remote add origin https://github.com/sensewake/sparta-myhoneytip-yak.git

git push -u origin main

 

여기까지 하면 원격지에 저장소가 생성된다.

 

5.GitHubDeskTop에서 해당 레파지토리에 파일들을 Commit > Push > Ftech origin을 확인한다.

 

Posted by 봄날의차
03.업/08.개발환경2022. 12. 27. 16:09

1.터미널 설치

-터미널설치

-telnet 이나 ssh 클라이언트로 접근(접근 PC에서 사용)

EX)putty 사용

 

2.터미널 생성(telnet, ssh)

-시스템(사용자)로그인 이란?

:관리자에 의해 발급된 IDPWD를 통해 유닉스 시스템에 접근하는 방법

-로그인방법

-유닉스

.tlenet클라이언트를 통하는 방법(23port 사용)

.ssh클라이언트를 통하는 방법(22port 사용)

.telnetssh기본 포트를 변경할 수 있기 때문에 telnet으로 접속해 보고 안되면 ssh로 접속

 

3.사용자 로그인하기

.Text User Interface로그인

.사용자 로그인하기

-root 사용자로 접근하기

.명령프로프트에 su 입력

.$su - (하이픈을 넣는 경우 해당 계정의 프로파일( .profile )을 읽어 드리는 옵션임)

-일반사용자로 돌아오기

.명령프롬프트에 exit입력

 

4.사용자 로그아웃

-유닉스 환경에서 로그아웃

.exit명령어 사용

예제)

.$su - (루트로 로그인)

.$su - jeus (jeus계정으로 로그인)

.$exit (root 계정으로 복귀)

.Ctrl + D 단축키 사용

5.유닉스 기본명령어[which, pwd]

-명령어 경로 확인 : which

.시스템 환경변수의 PATH에 설정된 명령어의 위치를 알려줌

.which [명령어 이름] : full path 확인

# which sudo

/usr/bin/sudo

# which su

/bin/su

 

-현재 디렉토리 출력 : pwd

# pwd

/usr/local

 

5.유닉스 기본명령어[cat, more]

-파일의 내용을 화면에 출력하는 명령어 : cat [옵션] [파일명1] [파일명2]

.옵션: -n line 의 숫자를 표시

-Cat concatenate의 약자로 파일을 연결하는 용도로 사용하거나 단순 출력시 사용함

.화면에 file1의 내용을 출력

.Ex)$cat file1

.화면 단위로 라인숫자를 표시하여 httpd.conf 내용을 출력

.Ex)$cat -n httpd.conf | more

-한 화면씩 출력하는 명령어 : more [옵션] [파일명]

.Return 한줄만 이동

.D반페이지 뒤로 이동

.Space bar 한페이지 뒤로 이동

.B 한페이지 앞으로 이동

.Q more 종료

 

5.유닉스 기본명령어[df, du]

-디스크 공간 출력 : df

.파일스스템 구조와 용량을 표시함

.옵션 : -k kilobytes로 표시함

.Ex)df -k

 

-디스크 사용 공간 출력 : du [옵션] [경로 or 파일]

.옵션 : -k kilobytes로 표시함 m -s 사용량의 총합계만 표시

.Ex)현재 경로의 총사용량 표시

. $du -sk ./

.Ex)현재 경로의 하위 경로를 포함한 사용량 표시

. $du -k ./

 

5.유닉스 기본명령어[tar] : 아카이빙( 상대경로 사용 )

-경로 압축 : tar [옵션] [압축파일명] [압축할 경로]

.Ex)상대경로로 apache 디렉토리를 압축하는 명령

.$tar cvf apache.tar ./apache

 

-압축 파일 풀기 : tar [옵션] [압축파일명]

.$tar xvf apache.tar

 

5.유닉스 기본 명령어[ps]

-프로세스 상태 표시 : ps [옵션]

.Ex)ps -ef

.주의 OS에 따라 옵션이 상이 할 수 있으니 -ef 옵션을 사용함

6.유닉스 기본 명령어[ls]

-a : dot(.)로 시작사는 파일을 포함한 모든 파일 표시(숨김 파일까지 리스티)

-l : long format 으로 표시

 

7.유닉스 기본 명령어 [grep]

-파일, 표준 출력 패턴매칭:grep [검색할문자][파일명 or 디렉토리명](옵션)

-grep [OPTIONS] PATTERN [FILE...]

.옵션 v 검색시 제외할 옵션

.옵션 n 패턴이 포함된 line을 표시

 

-/etc/passwd 파일의 내용 중에 jeus 가 포함된 문자열의 line을 출력한다.

$grep n jeus /etc/passwd

 

-모든 프로세스의 출력을 redirection(pipe로 연결) 하여 grep으로 httpd 문자열이 포함된 내용을 출력한다.

$ps ef | grep ht

 

8.유닉스 기본명령어 find

-파일명이나 패턴 검색 : find [경로명][연산자](옵션0

-절대 경로인 / (root) 경로 이하에서 jeus 문자열을 포함하는 파일을 찾는 경우

$find / -name “*jeus*” -print

-상대 경로인 ./에서 jsp확장자로 끝나는 문자열을 포함하는 파일을 찾는 경우

$find ./ -name “*.jsp” -print

 

-[연산자](옵션) 설명 :

-name :

-print : 특정 OS의 경우 print 옵션을 주어야함.

 

-ifconfig : Network Interface 정보 출력

-ifconfig a (solaris) : Network Interface 정보 출력

 

9.유닉스 기본명령어 netstat 리눅스 경우

: root계정이 아니면 pid를 찾을 수 없다.

.옵션 p : PID 와 실행 프로그램명을 출력, a 모든 정보 출력 ....(root 계정일 경우만 추력됨)

.$netstat -antp ( 리눅스 만 가능 )

.$nestat -na(sunOS)

 

10.

lsof pid|more

옵션 p : pid로 조회

ex)

ps el | grep httpd

....

lsof p 3027 | more

....

 

통신유형 포트 수신데몬 pid 실행프로그램

 

uname a : os버전 체크

 

11.리다이렉션 [Redirection]

.표준 입력과 출력을 필요에 따라서 변경할 때 사용

.명령의 실행 결과를 화면이 아닌 파일로 저장할 때 혹은 반복된 입력이 필요한 경우에 사용

리다이렉션 의미
명령 > 파일명 명령의 실행결과를 파일로 출력
명령 >> 파일명 명령의 실행 결과를 지정한 파일의 끝에 덧붙여 출력
명령1 | 명령2 명령1의 출력을 명령2의 입력으로 사용하여 실행

 

12.Redirection & Pipes

-파일 디스크립터는 보통 표준입력, 표준출력, 표준에러라는 3가지로 나누어 생각할 수 있다.

.표준입력(stdin) : 어떤 프로그램을 실행하기 위해 꼭 필요한 요소를 프로그램을 실행할 때 함께 입력해 주는 것

.표준출력(stdout) : 프로그램의 실행 결과로서 화면에 나타나는 요소

.표준에러(stderr) : 에러 요소들의 출력을 의미한다.

 

-위의 각 디스크립터는 ‘>’ 또는 ‘<’ 의 기호와 함께 사용 함으로써 다른 파일 디스크립터로 바꾸어 줄 수 있다.

$ ls l > lslist.txt

: 위의 명령은 ls l의 실행 결과를 lslist.txt라는 파일에 저장하라는 것

 

$ ps >> lsoutput.txt

: lsoutput.txt 파일이 있을 경우 append 하고 없을 경우 파일을 생성한 후 ps 출력 내용을 기록한다.

 

-파이프는 한 프로그램에서의 출력을 다른 프로그램의 입력으로 보내어 다음 프로그램에서 사용할 수 있도록 한다.파이프의 표시는 ‘|’ 이다.

$ ls l | more

: 위의 수행은 ls l 의 결과를 more 를 통하여 한 페이지 이상의 내용을 페이지 별로 볼 수 있게 한다.

 

12.파일처리

-디렉토리 생성 : mkdir [디렉토리명]

:ex)mkdir /tmp/check : /tmp 디렉토리에 check 서브디렉토를 만듬

 

-디렉토리 복사 : cp r

.디렉토리 내의 파일과 서브 디렉토리까지 복사

.cp r Source Destination

 

주의 사항:서버 접근시 보안으로 인하여 되도록 mkdir, cp 명령어 사용은 자제

 

13.프로세스 중지

-find / 경로를 *.jsp 검색하다 중지하는 명령

$ find / -name “*.jsp”

 

-.(실행시간이 오래 걸리거나 중지할 필요가 있을 경우)

Ctlr + C(<-프로세스 중지)

 

13.Shell

-유닉스 구성

.커널 : 운영체제의 핵심으로서 메모리나 프로세서 등 시스템을 제어

.사용자 프로그램 : 웹서버나 FTP, SSH 등 일반적으로 사용하는 프로그램

.: 커널과 사용자 프로그램의 중간에 위치하는 명령어 해석기

 

14.쉘의 종류

.Bourne Shell (sh) : 최초의 대중화된 유닉스 쉘

.Korn Shell(ksh) : Bourne Shell을 포한하고 있으며, 강력한 명령어 편집기로 유닉스에서 많이 쓰임

.C Shell(csh) : Bourne Shell 과 호환이 되지만 인터페이스 구조가 다르고, C언어 문법과 제어구조에 비슷한 면을 가지고 있음

.TC Shell(tcsh) : C Shell을 확장시켜 제작하였고, 프리 소프트웨어로 많은 사람들이 사용

.Bourne Again Shell(bash) : 리늑스 시스템의 기본 Shell

Bourne Shell 을 기반으로 해서 기능읠 추가, 발전시킨 Shell

C ShellKorn Shell 의 장점을 결합

 

15.쉘의 유용한 기능

-메타문자 사용 : 명령어를 실행할 때, 파일을 인수로 사용할 경우 문자열을 포함하거나 혹은 동시에 모든 파일들을 지정할 경우 사용

? : 어떤 한 문자

* : 어떤 문자도 없거나 그 이상인 경우

 

-터미널설치

-telnet 이나 ssh 클라이언트로 접근(접근 PC에서 사용)

EX)putty 사용

 

2.터미널 생성(telnet, ssh)

-시스템(사용자)로그인 이란?

:관리자에 의해 발급된 IDPWD를 통해 유닉스 시스템에 접근하는 방법

-로그인방법

-유닉스

.tlenet클라이언트를 통하는 방법(23port 사용)

.ssh클라이언트를 통하는 방법(22port 사용)

.telnetssh기본 포트를 변경할 수 있기 때문에 telnet으로 접속해 보고 안되면 ssh로 접속

 

3.사용자 로그인하기

.Text User Interface로그인

 

.사용자 로그인하기

-root 사용자로 접근하기

.명령프로프트에 su 입력

.$su - (하이픈을 넣는 경우 해당 계정의 프로파일( .profile )을 읽어 드리는 옵션임)

-일반사용자로 돌아오기

.명령프롬프트에 exit입력

 

4.사용자 로그아웃

-유닉스 환경에서 로그아웃

.exit명령어 사용

예제)

.$su - (루트로 로그인)

.$su - jeus (jeus계정으로 로그인)

.$exit (root 계정으로 복귀)

.Ctrl + D 단축키 사용

5.유닉스 기본명령어[which, pwd]

-명령어 경로 확인 : which

.시스템 환경변수의 PATH에 설정된 명령어의 위치를 알려줌

.which [명령어 이름] : full path 확인

# which sudo

/usr/bin/sudo

# which su

/bin/su

 

-현재 디렉토리 출력 : pwd

# pwd

/usr/local

 

5.유닉스 기본명령어[cat, more]

-파일의 내용을 화면에 출력하는 명령어 : cat [옵션] [파일명1] [파일명2]

.옵션: -n line 의 숫자를 표시

-Cat concatenate의 약자로 파일을 연결하는 용도로 사용하거나 단순 출력시 사용함

.화면에 file1의 내용을 출력

.Ex)$cat file1

.화면 단위로 라인숫자를 표시하여 httpd.conf 내용을 출력

.Ex)$cat -n httpd.conf | more

-한 화면씩 출력하는 명령어 : more [옵션] [파일명]

.Return 한줄만 이동

.D반페이지 뒤로 이동

.Space bar 한페이지 뒤로 이동

.B 한페이지 앞으로 이동

.Q more 종료

 

5.유닉스 기본명령어[df, du]

-디스크 공간 출력 : df

.파일스스템 구조와 용량을 표시함

.옵션 : -k kilobytes로 표시함

.Ex)df -k

 

-디스크 사용 공간 출력 : du [옵션] [경로 or 파일]

.옵션 : -k kilobytes로 표시함 m -s 사용량의 총합계만 표시

.Ex)현재 경로의 총사용량 표시

. $du -sk ./

.Ex)현재 경로의 하위 경로를 포함한 사용량 표시

. $du -k ./

 

5.유닉스 기본명령어[tar] : 아카이빙( 상대경로 사용 )

-경로 압축 : tar [옵션] [압축파일명] [압축할 경로]

.Ex)상대경로로 apache 디렉토리를 압축하는 명령

.$tar cvf apache.tar ./apache

 

-압축 파일 풀기 : tar [옵션] [압축파일명]

.$tar xvf apache.tar

 

5.유닉스 기본 명령어[ps]

-프로세스 상태 표시 : ps [옵션]

.Ex)ps -ef

.주의 OS에 따라 옵션이 상이 할 수 있으니 -ef 옵션을 사용함

 

6.유닉스 기본 명령어[ls]

-a : dot(.)로 시작사는 파일을 포함한 모든 파일 표시(숨김 파일까지 리스티)

-l : long format 으로 표시

 

7.유닉스 기본 명령어 [grep]

-파일, 표준 출력 패턴매칭:grep [검색할문자][파일명 or 디렉토리명](옵션)

-grep [OPTIONS] PATTERN [FILE...]

.옵션 v 검색시 제외할 옵션

.옵션 n 패턴이 포함된 line을 표시

 

-/etc/passwd 파일의 내용 중에 jeus 가 포함된 문자열의 line을 출력한다.

$grep n jeus /etc/passwd

 

-모든 프로세스의 출력을 redirection(pipe로 연결) 하여 grep으로 httpd 문자열이 포함된 내용을 출력한다.

$ps ef | grep ht

 

8.유닉스 기본명령어 find

-파일명이나 패턴 검색 : find [경로명][연산자](옵션0

-절대 경로인 / (root) 경로 이하에서 jeus 문자열을 포함하는 파일을 찾는 경우

$find / -name “*jeus*” -print

-상대 경로인 ./에서 jsp확장자로 끝나는 문자열을 포함하는 파일을 찾는 경우

$find ./ -name “*.jsp” -print

 

-[연산자](옵션) 설명 :

-name :

-print : 특정 OS의 경우 print 옵션을 주어야함.

 

-ifconfig : Network Interface 정보 출력

-ifconfig a (solaris) : Network Interface 정보 출력

 

9.유닉스 기본명령어 netstat 리눅스 경우

: root계정이 아니면 pid를 찾을 수 없다.

.옵션 p : PID 와 실행 프로그램명을 출력, a 모든 정보 출력 ....(root 계정일 경우만 추력됨)

.$netstat -antp ( 리눅스 만 가능 )

.$nestat -na(sunOS)

 

10.

lsof pid|more

옵션 p : pid로 조회

ex)

ps el | grep httpd

....

lsof p 3027 | more

....

 

통신유형 포트 수신데몬 pid 실행프로그램

 

uname a : os버전 체크

 

11.리다이렉션 [Redirection]

.표준 입력과 출력을 필요에 따라서 변경할 때 사용

.명령의 실행 결과를 화면이 아닌 파일로 저장할 때 혹은 반복된 입력이 필요한 경우에 사용

리다이렉션 의미
명령 > 파일명 명령의 실행결과를 파일로 출력
명령 >> 파일명 명령의 실행 결과를 지정한 파일의 끝에 덧붙여 출력
명령1 | 명령2 명령1의 출력을 명령2의 입력으로 사용하여 실행

 

12.Redirection & Pipes

-파일 디스크립터는 보통 표준입력, 표준출력, 표준에러라는 3가지로 나누어 생각할 수 있다.

.표준입력(stdin) : 어떤 프로그램을 실행하기 위해 꼭 필요한 요소를 프로그램을 실행할 때 함께 입력해 주는 것

.표준출력(stdout) : 프로그램의 실행 결과로서 화면에 나타나는 요소

.표준에러(stderr) : 에러 요소들의 출력을 의미한다.

 

-위의 각 디스크립터는 ‘>’ 또는 ‘<’ 의 기호와 함께 사용 함으로써 다른 파일 디스크립터로 바꾸어 줄 수 있다.

$ ls l > lslist.txt

: 위의 명령은 ls l의 실행 결과를 lslist.txt라는 파일에 저장하라는 것

 

$ ps >> lsoutput.txt

: lsoutput.txt 파일이 있을 경우 append 하고 없을 경우 파일을 생성한 후 ps 출력 내용을 기록한다.

 

-파이프는 한 프로그램에서의 출력을 다른 프로그램의 입력으로 보내어 다음 프로그램에서 사용할 수 있도록 한다.파이프의 표시는 ‘|’ 이다.

$ ls l | more

: 위의 수행은 ls l 의 결과를 more 를 통하여 한 페이지 이상의 내용을 페이지 별로 볼 수 있게 한다.

 

12.파일처리

-디렉토리 생성 : mkdir [디렉토리명]

:ex)mkdir /tmp/check : /tmp 디렉토리에 check 서브디렉토를 만듬

 

-디렉토리 복사 : cp r

.디렉토리 내의 파일과 서브 디렉토리까지 복사

.cp r Source Destination

 

주의 사항:서버 접근시 보안으로 인하여 되도록 mkdir, cp 명령어 사용은 자제

 

13.프로세스 중지

-find / 경로를 *.jsp 검색하다 중지하는 명령

$ find / -name “*.jsp”

 

-.(실행시간이 오래 걸리거나 중지할 필요가 있을 경우)

Ctlr + C(<-프로세스 중지)

 

13.Shell

-유닉스 구성

.커널 : 운영체제의 핵심으로서 메모리나 프로세서 등 시스템을 제어

.사용자 프로그램 : 웹서버나 FTP, SSH 등 일반적으로 사용하는 프로그램

.: 커널과 사용자 프로그램의 중간에 위치하는 명령어 해석기

 

14.쉘의 종류

.Bourne Shell (sh) : 최초의 대중화된 유닉스 쉘

.Korn Shell(ksh) : Bourne Shell을 포한하고 있으며, 강력한 명령어 편집기로 유닉스에서 많이 쓰임

.C Shell(csh) : Bourne Shell 과 호환이 되지만 인터페이스 구조가 다르고, C언어 문법과 제어구조에 비슷한 면을 가지고 있음

.TC Shell(tcsh) : C Shell을 확장시켜 제작하였고, 프리 소프트웨어로 많은 사람들이 사용

.Bourne Again Shell(bash) : 리늑스 시스템의 기본 Shell

Bourne Shell 을 기반으로 해서 기능읠 추가, 발전시킨 Shell

C ShellKorn Shell 의 장점을 결합

 

15.쉘의 유용한 기능

-메타문자 사용 : 명령어를 실행할 때, 파일을 인수로 사용할 경우 문자열을 포함하거나 혹은 동시에 모든 파일들을 지정할 경우 사용

? : 어떤 한 문자

* : 어떤 문자도 없거나 그 이상인 경우

 

 

'03.업 > 08.개발환경' 카테고리의 다른 글

github clone  (0) 2023.01.28
github 정보  (0) 2023.01.09
크롬 캐시 비우기 및 강력 새로고침  (0) 2022.06.22
작업정보_SDD이동  (0) 2020.10.19
개발환경셋팅.logback  (0) 2014.08.08
Posted by 봄날의차
03.업/08.개발환경2022. 6. 22. 15:30
03.업/08.개발환경2020. 10. 19. 13:59

>>sdd 연결<<

https://it.donga.com/21751/

 

[IT강의실] 초보자를 위한 SSD 구매 및 설치 가이드(하)

[IT동아 김영우 기자] 이전 기사(http://it.donga.com/21610/)에서 이른바 '컴퓨터 속도 높이는 보약'으로 통하는 SSD의 제품 선택 요령에 대해 살펴봤다. 이제는 이렇게 구매한 SSD를 자신의 PC(데스크톱, ��

it.donga.com


1.
케이블연결

 

2.전원연결

3.bios에서 sdd 연결확인

4.작업환경 변경

 

>>작업환경 변경

: 포터블 프로그램에 한해 작업시작위치만 변경해 주면 사용가능

1.C:\dev\tools\ => D:\dev\tools\ 로 변경함

2.eclipseIDE인 경우 작업폴더도 변경해 주어야함.

workspace : 변경

C:\dev\tools\eclipseMeatBox\workspace => D:\dev\tools\eclipseMeatBox\workspace

처음 실행시엔 조금 느릴 수 있음

Posted by 봄날의차
03.업/08.개발환경2014. 8. 8. 11:30

메이븐프로젝트+logback설치해보기

 참조url 및 작업 참고내용 : 로거작업.20140805.txt

POM.xml : pom.xml

web.xml : web.xml

logback.xml : logback.xml

1.메이븐저장소 변경
D:\00.WORK\app\apache-maven-3.2.2\conf\settings.xml
localRepository 체크
>>D:\00.WORK\app\M2Repository 백업

settings.xml의 레파지토리위치를 프로젝트별로 지정할 수 있다.
프로젝트별로 Maven 의 settings.xml 을 별도로 지정한다.

2.프로젝트생성
New > Other > Maven > Maven Project

springJQTest
gorupId,artifactId설정 후 프로젝트 생성

3. pom.xml 편집
pom.xml 수정 등록 후 우클릭.Run As.Maven Test 또는 Maven Install
spring-beans, spring-core, spring-context를 depdency에 추가
       ....그리고, JUnit4로 테스트를 진행 예정이기 때문에 spring-test와 junit 4.11을 추가....

3.1.logback.xml 작성
>>property설정
    <property name="LOG_HOME" value="D:/00.WORK/logs" />
    <property name="contextName" value="springJQTest" />
>>appender설정
    ch.qos.logback.core.ConsoleAppender
    ch.qos.logback.core.rolling.RollingFileAppender
    ch.qos.logback.core.FileAppender
>>root level="debug"
  <logger name="java.sql"   level="error" >
   <appender-ref ref="sqlAppender"/>
  </logger>
    .....   
  <logger name="org.springframework.jdbc" >
   <level value="debug"/>
   <appender-ref ref="sqlAppender"/>
  </logger>
  .....
  <logger name="egovframework.example.sample.web">
   <level value="debug"/>
   <appender-ref ref="FILE" />
  </logger>
 
    <root level="debug">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>

4. pom.xml 편집후 테스트 실행
프로젝트에서 Run as > Maven test 를 선택

4.1.log4jdbc4-1.2.jar 추가
java Build Path 외부라이브러리 추가

4.2.Properties for springJQTest
>> Deployment Assembly
Maven Dependencies 추가되어있는지 확인
>>java Build Path
외부라이브러리 추가 확인

5.web.xml
>> filter추가
 <filter>
   <filter-name>LoggerContextFilter</filter-name>
   <filter-class>ch.qos.logback.classic.selector.servlet.LoggerContextFilter</filter-class>
 </filter>
 <filter-mapping>
   <filter-name>LoggerContextFilter</filter-name>
   <url-pattern>/*</url-pattern>
 </filter-mapping>

>>listener추가
 <listener>
   <listener-class>ch.qos.logback.classic.selector.servlet.ContextDetachingSCL</listener-class>
 </listener>

>>config설정안함. 대신 logback.xml위치는 자동으로 파일 읽어 들이는 resources폴더 안에 있어야함.param-name을 모름.
 <!--
 <context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>classpath:logback.xml</param-value>
 </context-param>
  -->
/springJQTest/src/main/resources/logback.xml

6.소스상의 로그작성
org.slf4j.Logger logger = LoggerFactory.getLogger(EgovSampleController.class);
logger.debug("EgovSampleController");

Posted by 봄날의차
03.업/08.개발환경2014. 8. 8. 11:11

JarAnalyzer-1.2 jar파일 의존성 검사

사용방법은 적당한곳에 압축을 푼후 runxmlsummary.bat를 실행한후 아래와 같이 입력하면 xml파일이 생긴다. 
C:\tools\JarAnalyzer-1.2>echo off
Please enter input directory name: D:\workspace\java7\async_server_socket\dependency
Please enter output file name: logback.xml

>>참고사이트<<

Kirk Home
http://www.kirkk.com/main/Main/JarAnalyzer

Logback을 활용한 Remote Logging 구현 사례 - 넥스트리 - NEXTREE
http://www.nextree.co.kr/p5584/

삽질쏘나타  [Java] Jar 파일 의존성 검사 JarAnalyzer 
http://lemonfish.egloos.com/viewer/4525678

JarAnaluzer를 이용한 자바 라이브러리 의존성 확인
http://seban21.blog.me/70163906614

 JarAnalyzer-1.2.zip

 

Posted by 봄날의차
03.업/08.개발환경2014. 7. 22. 10:49

출처 : http://revf.tistory.com/145


윈도우환경의 SubVersion(이하 SVN) 설치과정과 이클립스에서 사용하는 방법을 정리하고자 한다.

 

SVN은 소스관리를 할 수 있는 기능을 가지고 있다.

최근에는 오픈 소스 위주로 GitHub 가 세대라지만 프로젝트에서 쉽게 셋팅하여 사용하기에는 SVN이 쉬운것 같다.

 

설치 순서는 다음과 같다.

 

1. SVN Server 설치 

2. TortoiseSVN 설치

3. SVN Manager 설치

4. 이클립스 셋팅

 

 


 

1. SVN 서버 설치

 소스관리 서버가 있다면 SVN Server를 설치해야 SVN 기능을 사용할 수 있다.

 검색해보면 http://subversion.tigris.org/ 에서 다운로드가 가능하다고 하지만

 현재는 http://subversion.apache.org/ 에서 패키지 형태로 제공하고 있다.

 서버는 소스만 받을 수 있고 설치파일을 받으려면 패키지로만 가능하다.

 패키지 형태란 CollabNet 이나 VisualSVN 같은 3rd party 업체에서 서버+클라이언트를 제공하는 것을 말한다.

 

 현재 1.7.8까지 나와 있긴 하지만 패키지로 받아야 해서 (이것이 익숙치가 않아서..)

 이전 버젼인 1.6.6 은 아직 바이너리로 제공하고 있으니 이것을 받아서 설치했다.

 http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=91

 

 Setup-Subversion-1.6.6.msi

 

 

 

설치가 완료되면, 설치된 폴더의 conf 폴더로 이동해서 아래와 같이 파일들을 수정한다.

svnserve.conf (SVN설정)

(주석해제)

anon-access = none                # 익명사용자 액세스 불가
auth-access = write                 # 인증 사용자 쓰기 가능

password-db = passwd            # 패스워드 정보로 passwd 파일 사용

authz-db = authz                     # 인증 정보로 authz 파일 사용

realm = Revfactory Repository    # SVN접속시 인사말

 

passwd (계정정보)

revfactory = 1234                       # SVN 접속시 ID와 패스워드

 

authz (계정을 그룹화 하거나 폴더별 권한 설정)

[/]
revfactory = rw                        # revfactory 계정으로 루트에 쓰기삭제 가능

   # 세부사항은 주석처리된 샘플 참조 (그룹@ 별칭&) 

 

 


 

2. TortoiseSVN 설치

TortoiseSVN 은 윈도우 환경에서 SVN 기능들을 마우스 클릭만으로 사용하게 해주는 SVN 클라이언트이다.

여기서 최신버젼을 받아 설치한다.

http://tortoisesvn.net/downloads.html

 

설치를 하고 나면 적당한 위치에 폴더를 하나 생성하고 마우스 우클릭만으로 저장소를 생성하거나 체크아웃등이

가능하다.

 

 

 

 

 

 

저장소 생성시에 trunk, branches, tags 구조를 생성하도록 했다면 Repo-browser 을 실행하면

아래와 같이 저장소를 확인 할 수 있다. 또한 URL을 보면 file:///C:/Repo 인 것을 확인할 수 있다.

 

 

 

 

 

 


 

3. SVN Manager 설치

이클립스에서 SVN에 접근하려면 URL이 필요한데 현재는  file:///C:/Repo 이라서 로컬에서만 접근이 가능하다.

따라서 원격에서도 가능하게 하려면 포트를 열고 svn://localhost 또는 svn://자신의컴퓨터IP 로 셋팅이 필요하다.

 

이를 위해서는 아래와 같은 명령어로 서버를 구동해야 하는데 불편하다.

C:\>svnserve -d -r C:\repos

 

이를 해소해주는 프로그램으로 PYRASIS에서 배포하는 svn manager 을 사용하도록 한다.

아래 주소에서 다운로드 받을 수 있으며 사용법은 간단하다.

http://www.pyrasis.com/main/SVNSERVEManager

 

 SVNManager-1.1.2-Setup.msi

 

 


SVN 설치한 폴더의 bin에 설치가 되며,

Subversion Repository Root 에는 저장소 폴더(C:\Repo)를 지정해주고, Port 에는 3690 을 입력한다.

또한 Service에 등록하게 되면 매번 Manager를 실행하지 않아도 된다.

 

이제 svn://{컴퓨터IP} 가 가능해졌다.

 

그리고 다른 컴퓨터에서도 접속을 하려면 방화벽을 해제해야 한다.

제어판 -> 시스템및보안 -> Widows 방화벽 -> 고급설정 -> 인바운드 규칙 -> (우클릭)새규칙

포트 -> TCP 특정포트 3690 -> 연결허용 -> (이름지정)

 

 

 


4. 이클립스 셋팅

이클립스에 SVN 플러그인이 설치되어 있지 않다면 Help -> Eclipse Marketplace 에서 SVN 검색 후

Subversive - SVN Team Provider을 설치하도록 한다. 설치 중 선택 옵션이 나오면 최신버젼을 선택하면 된다.

 

플러그인이 설치되었다면 프로젝트에서 마우스 우클릭을 하면 Team 이란 메뉴가 생기고,

Team -> Share Project 를 통해 프로젝트를 저장소에 올리거나

New -> Other 선택 후 SVN -> Project from SVN 으로 저장소에 있는 프로젝트를 체크아웃 받을 수 있다.

 

URL 란에 svn:// 으로 시작하는 주소를 적으면 된다.

 


간단 SVN 용어 설명

[svn]

repository : 소스가 저장되는 곳이다. 버젼별에 따라 관리되므로 저장소에서 직접 소소를 확인할 수 없다.

checkout : 저장소에서 최신소스를 내려받는 것을 말한다. 이후 내려받은 폴더에서 커밋/업데이트를 할수있다.

import : 소스를 저장소에 넣는다. 이때 메모를 기록해 둘 수 있다. 이클립스에서 Share Project 하는 것

export : 저장소에서 버젼정보를 제외한 소스를 추출한다.

revision : 소스의 버젼을 의미한다. 버젼은 커밋할때마다 커밋단위로 증가한다.

 

[저장 구조]

trunk : 현재 개발 진행중인 소스를 말한다.

branches : 현재 진행중인 소스에 추가하기엔 어려운 테스트용 코드나 프로토타입등을 만들때 분리할 목적

tags : 소스가 배포되고 버젼별 관리가 필요할때 tags로 버젼별로 생성하여 이동한다.

 

[svn 사용시]

synchronize with repository : 체크아웃 받은 폴더와 저장소를 비교하여 업데이트나 커밋이 있는지 확인한다.

commit : 자신이 수정한 소스를 저장소로 올리는 작업을 말한다.

update : 다른사람이 수정한 소스를 저장소에서 내려받는 작업을 말한다.

update to revision : 저장소에서 원하는 버젼으로 자신의 소스를 변경한다.

merge : 같은 파일을 자신과 다른사람이 동시에 수정했을때에 이를 합친다. merge 후에는 코드를 꼭 확인할 것

show history : 특정 소스의 변경이력을 확인하고 현재 버젼의 소스와 비교할 수 있다.

 

소스를 올릴때 Synchronize 수행 -> Update -> Commit 순서를 따르는 것이 좋다.

'03.업 > 08.개발환경' 카테고리의 다른 글

작업정보_SDD이동  (0) 2020.10.19
개발환경셋팅.logback  (0) 2014.08.08
JarAnalyzer-1.2 jar파일 의존성 검사  (0) 2014.08.08
윈도우7 한영키 alt화  (0) 2014.07.22
[전자정부]개발환경.다국어.eclipse.ini  (0) 2014.07.21
Posted by 봄날의차
03.업/08.개발환경2014. 7. 22. 10:23

참고사이트를 잊어버렸다.ㅡㅡ'

윈도우 7의 버그로 한영키가 alt키로 인식되는 문제란다.

레지스트리 변경 다른것도 해봤는데 안돼던게 이걸로 하니 되네.

 Windows7_ notebook_ko.reg

 

Posted by 봄날의차
03.업/08.개발환경2014. 7. 21. 11:28

>>다국어 지원 방안<<

이클립스 설치 디렉토리에 있는 eclpse,ini 파일 수정

1.영문
-Duser.language=en
-Duser.country=US 

2.국문
-Duser.language=en
-Duser.country=US 

>>성능향 방안<<
>>juno 시작 시간 단축 및 이클립스 시작옵션<<
eclipse theme 기능 변경 

  1. Window > Preferences > General > Appearance : Theme => Classic으로 변경.
  2. Window > Preferences > General > Editors > Text Editors > Spelling => Enable spell checking 체크풀기
  3. Use mixed fonts and colors for labels 체크를 해지
  4. Apply 후 eclipse 재실행.
  5. eclipse.ini

        -Xverify:none
        -XX:+UseParallelGC
        -XX:-UseConcMarkSweepGC
        -XX:PermSize=32M
        -XX:MaxPermSize=256M
        -Xms256m
        -Xmx1024m
        -vm
        D:/00.WORK/app/Java/jdk1.7.0_65/bin/javaw.exe

eclpse.ini 파일 수정

필요에 따라 아래의 설정정보를 수정할 수 있다.
메모리 설정의 경우, 각 컴퓨터의 메모리 용량에 따라 설정하여야한다. (1~2G : 256m, 2~3G, 512m, 4G~ : 1024m 권장


1.Xverify:none
클래스 검사 생략. eclpse 실행 시간 단출

2.XX:-UseParallelGC
Parallel Collector를 사용. 병렬 가비지 컬렉션.

3.XX:-UseConcMarkSweepGC
병행 mark-sweepGC 기능을 수행하여 GUI 응답속도 처리

4.XX:PermSize=32M
eclipse 클래스 로딩 기본 메모리

5.XX:MaxPermSize=128M
eclipse 클래스 로딩 최대 메모리

6.Xms256m
eclipse 실행시 잡는 최소 메모리

7.Xmx256m
eclipse 실행시 잡는 최대 메모

Posted by 봄날의차