c++2011. 11. 5. 16:15
#include <iostream>
using namespace std;

class A
{
private : 
int kor,eng,math;
public : 
void aaa(int a, int b, int c){
kor = a;
eng = b;
math = c;
}
void bbb();

};
void A::bbb()
{ char hak;
int tot=kor+eng+math;
double ave = tot/3.0;
switch((int)ave/10)
{
case 10 :
case 9 : hak = 'A' ; break;
case 8 : hak = 'B' ; break;
case 7 : hak = 'C' ; break;
case 6 : hak = 'D' ; break;
default : hak = 'F' ;
}
cout << "총점:"<<tot<<endl;
cout << "평균:"<<ave<<endl;
cout << "학점:"<<hak<<endl;

}

void main()
{
int a,b,c;
cout <<"국어 영어 수학 점수를 입력하세요"<<endl;
cin >>a>>b>>c;
A obj;
obj.aaa(a,b,c);
obj.bbb();
}
Posted by babuzzzy
linux/linux tips2011. 10. 30. 20:41





vino 로 검색해서 실행한후 이렇게 설정한다
1. windows에 VNC Viewer를 다운로드 받는다.
http://www.uvnc.com/ 홈페이지에 들어가면
download page가 있는데.. 이곳에서 최신버전을 다운로드 받으면 된다.
2009.02.11 일 최신 버전이 1.0.5.4 Viewer 이다.
압축을 풀어 적당한 곳에 넣는다.
[출처] 윈도우에서 VNC를 사용하여 Linux(우분투)로 원격 데스크탑 연결하기|작성자 똥글똥글 

3. VNCViewer로 접속한다.
다운로드 받은 vncviewer_tab 을 실행한다.
File -> New Connection 을 선택한다.
VNC Server에 IP Address와 Port 또는 Display를 넣는다.
예) 11.12.13.14:0 
Connect를 누른다.
설정에 넣은 비밀번호를 입력한다.

그럼 아래처럼 VNCViewer에 리눅스의 X-Window 화면이 보인다.

 

'linux > linux tips' 카테고리의 다른 글

구조체에 대한 이해  (0) 2012.01.09
리눅스 함수에 대한 이해  (0) 2012.01.09
리눅스 프로그래밍 오류처리  (1) 2012.01.07
우분투 live 부팅 이란  (0) 2011.10.30
./configure 와 make 의 이해  (0) 2011.10.30
Posted by babuzzzy
linux/linux tips2011. 10. 30. 17:35

우분투 라이브 부팅이란,?

우분투 설치 시디로 부팅하셔서

우분투 설치하지 않고 사용하기 or 우분투 설치하기


선택하시면 우분투 초기화면이 나옵니다.
여기까지의 과정 이더군요.

이부분에서 이제 우리가 할 수 있는게

Grub 복구, Gparted 사용(마운트 되있는 파일 시스템을 언마운트 하기 위해) 이 가능하답니다.


전 Grub 복구 때문에 찾아보다가 모두가 하는말이 계속 라이브 시디로 부팅해서
터미널에서 이런이런 명령어를 쳐라길래 복구모드로 가서 하는건줄 알고
엄청 헤맸습니다.

이게 사실 Gparted 사용법에 대해서 좀 적으려다가 제가좀 멍청해서 그런것도 있지만
혹시나 라이브 부팅을 모르시는분이 있으실까봐 혹시나 해서 올립니다.

조금이나마 도움 되셨길 바라면서,

'linux > linux tips' 카테고리의 다른 글

구조체에 대한 이해  (0) 2012.01.09
리눅스 함수에 대한 이해  (0) 2012.01.09
리눅스 프로그래밍 오류처리  (1) 2012.01.07
우분투 11.10 에서 vnc 하기  (1) 2011.10.30
./configure 와 make 의 이해  (0) 2011.10.30
Posted by babuzzzy
linux/linux tips2011. 10. 30. 16:07
그건 사용자가 만드는 물건이 아닙니다. 자세한 것은 autotools를 검색해보셔야 하는데요. 이해하려면 개발자의 입장을 생각하셔야 합니다.
간단하게 설명하면,

개발자는 여러개의 소스 파일로 프로젝트를 진행합니다. 그런데 매번 컴파일하기가 너무 귀찮습니다. 파일도 많고, 걸어줘야 하는 플래그가 많아요.
-> 그래서 make 라는 유틸리티를 통해 이 문제를 해결합니다. makefile 에는 소스 목록이 들어있다고 생각하시면 됩니다.
근데 make로 만들다보니 남의 컴퓨터에서도 돌리고 싶어졌습니다. 사용자나 플랫폼에 따라 파일 경로 같은 게 다를 수 있거든요.
-> 그래서 autotools 를 사용합니다. autotools는 사용자의 컴퓨터를 조사하여 makefile을 생성합니다.

여기서 ./configure 는 autotools가 자동적으로 만들어 내는 실행파일입니다. 이 명령(configure)을 실행하면 내 컴퓨터에 맞는 makefile이 출력으로 나오게 됩니다.

./configure가 없다면 둘중 하나입니다. 프로그램 소스만 있던가, makefile만 있는거죠.(or 다른 어떤 도구일 수도 있습니다.) 첨부 된 인스톨 설명서가 있으면 한번 잘 읽어보셨으면 합니다

'linux > linux tips' 카테고리의 다른 글

구조체에 대한 이해  (0) 2012.01.09
리눅스 함수에 대한 이해  (0) 2012.01.09
리눅스 프로그래밍 오류처리  (1) 2012.01.07
우분투 11.10 에서 vnc 하기  (1) 2011.10.30
우분투 live 부팅 이란  (0) 2011.10.30
Posted by babuzzzy
linux2011. 10. 25. 01:58
VI 에디터 명령어

# 시작/종료 및 기타

:set number 또는 :set nu 행에 번호 부여

:set nonumber 또는 :set nonu 행에 부여된 번호 제거

:ZZ 또는 :wq 저장하고 vi 에디터 종료

:w [filename] 주어진 파일 이름으로 저장

:w! [filename] 주어진 파일 이름으로 저장/덮어쓰기 후 종료

:w! 저장후 편집종료

:q 저장하지 않고 vi 에디터 종료

:q! 저장하지 않고 vi 에디터 강제종료

:e vi 에디터 종료하지 않고 다른 파일 편집

:e! 편집한 내용 저장하지 않고 최종 저장된 상태로 파일 열기

# 입력 편집 명령어

i 문자 앞에서부터 입력

a 현재 문자 뒤에서부터 입력

I 현재 라인 첫머리에서부터 입력

A 현재 라인 맨뒤에서부터 입력

o 현재라인 아래에 입력

O 행의 위에 입력

r 겹쳐쓰기(커서위치 1문자 변환)

R 현재문자 이후부터 겹쳐쓰기

s 커서가 있는 단어를 지우고 입력하기

ch 커서 바로 앞의 한글자를 여러글자로 수정하기

S 커서가 있는 행을 지우고 입력하기

cw 커서 위치의 한 단어를 수정하기

co 커서 위치부터 줄의 처음까지 수정하기

c 커서 위치부터 줄의 끝까지 수정하기

cc 커서가 있는 줄을 수정하기

cj 커서가 있는 줄과 그 다음 줄을 수정하기

ck 커서가 있는 줄과 그 앞줄을 수정하기



# 삭제 명령어

dw 한 단어 삭제

dd 한 라인 삭제

[number]dd 커서있는 위치에서 숫자만큼 라인 삭제

dj 커서가 있는 줄과 그 다음 줄을 삭제

dk 커서가 있는 줄과 그 앞줄을 삭제

do 커서 위치부터 줄의 처음까지 삭제

x 커서의치의 글자 삭제

D 한줄삭제

d$ 커서 위치부터 줄의 끝까지 삭제

X 커서 바로 앞의 글자 삭제

# 치환 명령어

cw 한 단어 바꾸기(단어의 첫머리에 커서 위치해야함)

# 복사 명령어

y 문자 복사

yy 한라인 복사

yw 커서 위치부터 단어의 끝까지 복사하기

yj 커서가 있는 줄과 그 다음줄을 복사하기

yo 커서 위치부터 줄의 처음까지 복사하기

yk 커서가 있는 줄과 그 앞줄을 복사하기

y$ 커서 위치부터 줄의 끝까지 복사하기

p 현재 줄 다음에 버퍼의 내용을 붙임

P 현재 줄 앞에 버퍼의 내용을 붙임

# 명령어 취소/반복

esc key 입력화면에서 빠져나옴옴

u 또는 :u 되돌리

U 그줄에 행해진 작업 모두 취소하기

. 조금전에 했던 명령 반복하기

# 이동 명령어

:[number] 숫자의 행으로 이동

:0 문서의 맨앞으로 이동

:$ 문서의 맨뒤로 이동

l 오른쪽으로 이동

h 왼쪽으로 이동

j 아래로 이동

k 위로 이동

B 특수문자,기호제외(한단어 뒤로이동)

b 한단어 뒤로 이동

w 한단어 앞으로 이동

W 특수문자, 기호제외(한단어 앞으로 이동)

enter 다음줄의 첫글자로 이동

e 단어의 마지막 글자로 이동

o 라인의 시작으로 이동

E 단어의 마지막 글자로 이동하기

$ 라인의 끝으로 이동

shift키와 함께 사용

gg 파일의 첫 행으로 이동

G 파일의 마지막 행으로 이동

^ 라인의 첫 번째 단어로 이동

shift키와 함께 사용

+ 다음 라인의 처음으로 이동

H 화면의 맨위로 이동

- 이전 라인의 처음으로 이동

M 파일의 중간으로 이동

[ctrl]+F 한 화면 앞으로 이동

L 화면의 끝으로 이동

[ctrl]+D 한 화면의 반만큼 앞으로 이동

/[text] 단어검색

/[filename] 파일검색

[ctrl]+B 한 화면의 뒤로 이동

[ctrl]+U 한 화면의 반만큼 뒤로 이동

'linux' 카테고리의 다른 글

우분투에서 .zip 파일 압축풀기  (0) 2011.09.04
우분투 한글 사용하기  (0) 2011.09.03
리눅스 명령어 - chkconfig  (0) 2011.07.09
리눅스의 커널이란  (0) 2011.06.22
[linux] ssh,scp 사용하기  (0) 2011.06.12
Posted by babuzzzy
My PROJECT/1st project2011. 9. 27. 11:07

OpenSSL로 인증서 생성 및 변환 간략 정리  개발 스토리 

2009/07/27 15:45

복사http://blog.naver.com/leeyc09/30061409971


OpenSSL로 인증서 생성 및 변환 간략 정리

기술 이야기 2008/08/29 11:43
테스트 용도 및 내부 어플리케이션 사용 용도라면 굳이 돈주고 Verisign 인증서 같은걸 사서 쓸 필요 없이 간단히 OpenSSL로 만들어 사용하는 것도 좋은 방법이지요. 

인증서란 것이 발급한 기관이 어디냐에 따라서 브라우저 같은 Application에서 그냥 넘어가느냐 못믿을 놈이니 확인해라 라는 컴플레인을 하거나의 차이일 뿐 표준에 따라 만드는 것이라 다를 것이 없으니까요....

OpenSSL로 인증서 생성 및 변환하는 것을 아주 간략히 정리해봅니다. 
OpenSSL을 설치하면 openssl 이라는 이름의 실행파일이 있으며 이는 OpenSSL 패키지에 대한 데모 및 샘플 코드 제공, 각종 암호키에 대한 변환 등의 기능을 제공하는 툴입니다. 
이 툴로 사실 우리가 필요로 하는 거의 대부분의 키 핸들링이 가능하다고 볼 수 있습니다.


1. Demo CA 설정
- 현재 디렉토리에 demoCA 디렉토리 생성 : mkdir demoCA
- demoCA 디렉토리 안에 시리얼 파일 생성 : serial 이란 이름의 text 파일에 00 을 적는다.
- index 파일 생성 :  index.txt 란 이름으로 빈 파일을 만든다.

2. CA 인증서 생성
- CA 개인키 생성 :  openssl genrsa -des3 -out ca.key 1024 
- Self-Signed CA 인증서 생성 :  openssl req -new -x509 -days 365 -key ca.key -out ca.crt 

3. 하위 인증서 생성 (예: HTTPS Web 서버용..)
- server 개인키 생성 : openssl genrsa -des3 -out server.key 1024 
- server 인증서 발급을 위한 요청파일 생성 : openssl req -new -days 365 -key server.key -out server.csr
- server 인증서 발급 : openssl ca -in server.csr -out server.crt -keyfile ca.key -cert ca.crt -outdir .

위 작업의 결과로 server.crt 라는 server용인증서가 생성되고 index 파일에 발급내역이, serial이 16진수로 1씩 증가한다.

4. 인증서 인코딩 포멧 변경
- openssl 이 생성하는 인증서의 인코딩은 발급 시 옵션을 주지 않으면 디폴트가 PEM (base64 encoding)이다.
- Java 등에서 사용하기 위한 DER 포맷(바이너리)으로 변경은 다음과 같이 수행한다.
   : openssl x509 -in ca.crt -out ca.der -outform DER

5. 인증서 내용 보기
- openssl x509 -in ca.crt -text   (PEM 포맷인 경우)
- openssl x509 -in ca.der -inform DER -text (DER 포맷인 경우)
================================================================================================================

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

CA 개인키 생성
openssl genrsa -des3 -out ca.key 1024

CA csr 키 생성
openssl req -new -key ca.key -out ca.csr

Root CA 인증서 생성 
openssl x509 -req -days 1280 -in ca.csr -signkey ca.key -out ca.crt

개인키에서 패스워드 삭제하기 
openssl rsa -in ca.key -out ca_key.pem

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

Server 개인키 생성
openssl genrsa -des3 -out server.key 1024

Server csr 키 생성
openssl req -new -key server.key -out server.csr

Server 인증서 생성
openssl x509 -req -in server.csr -out server.crt -signkey server.key -CA ca.crt -CAkey

ca.key -CAcreateserial -days 365

개인키에서 패스워드 삭제하기 
openssl rsa -in server.key -out server_key.pem

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

Client 개인키 생성
openssl genrsa -des3 -out client.key 1024

Client csr 키 생성
openssl req -new -key client.key -out client.csr

Client 인증서 생성
openssl x509 -req -in client.csr -out client.crt -signkey client.key -CA server.crt -CAkey

server.key -CAcreateserial -days 365

개인키에서 패스워드 삭제하기 
openssl rsa -in server.key -out server_key.pem

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

crt->der 포맷변경
openssl x509 -in ca.crt -out ca.der -outform DER

pem->der 포맷변경
openssl x509 -in demoCA/cacert.pem -outform DER -out cacert.der

der->pem 포맷변경
x509 -in cert.cer -inform DER -out cert.pem -outform PEM

인증서 확인
openssl x509 -noout -text -in client.crt

비밀키 보기
openssl rsa -noout -text -in server.key

openssl 설치완료 확인
httpd -t

pfx 변환
openssl pkcs12 -export -in client.crt -inkey client.key -certfile ca.crt -out bundle.p12

pfx에서 키 추출
OpenSSL> pkcs12 -in filename.pfx -nocerts -out key.pem

pfx에서 인증서 추출
OpenSSL> pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem

라디우스 실행
/usr/local/sbin/radiuse -x

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

인증에 사용될 파일 6개
ca_key.pem ca.crt
server_key.pem server.crt
client_key.pem client.crt

출처 : Tong - ssabro님의 Hacking & Security통

'My PROJECT > 1st project' 카테고리의 다른 글

프로젝트에 필요한 cgi 에 대한 개념 잡기  (0) 2011.09.03
우분투에서 apm 설치하기  (0) 2011.08.03
SNMP  (0) 2011.07.09
APACHE 란  (0) 2011.07.07
1. 시스템 모니터링 교수님 질문내용-답변  (0) 2011.07.07
Posted by babuzzzy
php2011. 9. 20. 00:39
1. 메타테그 이용

   <meta http-equiv='refresh' content='0; url='./index.php'>

 

2. 자바스크립트 이용

  <script>location.href='./index.php'</scrpt>

 

3. php 이용

<?

HEADER("location:./index.php");

?>

 

셋중에 하나 사용하시면 됩니다.




if(B 조건== true){

header('Location: http://www.yahoo.com');
exit;
} else{

      header('Location: http://www.naver.com');

          exit;

}


http://kr2.php.net/manual/kr/function.header.php

Posted by babuzzzy
thinking/life2011. 9. 14. 18:49
울 아버지 왈 10여년간 거래하던 거래처가 하루아침에 갑자기 이제 거래를 그만하겠다고,
다른곳과 거래를 하겠다고 했을때 왜 말도없이 바꾸냐는둥 따질게 아니라
여태 거래해줘서 고맙다고 웃으면서 인사하는거란다.
 
지난시간 덕분에 웃고 즐겼으니, (물론 덕분에 스트레스받고 화났던것도 있겠지만!) 그것에 만족하고 욕심부리지 말라는것 같다.
 
사람은 간사해서 좋은것은 다 까먹고 나쁜것만 기억하는데, 좀더 사람답게 살려면 좋은것만 기억하고 나쁜것은 까먹도록 노력해야겠다.

-우연히 자료검색을하다가 어느 블로그에서..- 

'thinking > life' 카테고리의 다른 글

첫사랑  (0) 2011.11.29
Posted by babuzzzy
linux2011. 9. 4. 03:43
rar 를 설치하고

unzip 파일명 

'linux' 카테고리의 다른 글

VI 에디터 명령어  (0) 2011.10.25
우분투 한글 사용하기  (0) 2011.09.03
리눅스 명령어 - chkconfig  (0) 2011.07.09
리눅스의 커널이란  (0) 2011.06.22
[linux] ssh,scp 사용하기  (0) 2011.06.12
Posted by babuzzzy
My PROJECT/1st project2011. 9. 3. 00:43

우선 웹서버는 동적인 컨텐츠를 생성하지 못하는데요,

 
이 말은 클라이언트가 요청한 페이지는

웹서버가 이미 따로 존재하고 있던 웹 페이지를 리턴하는 것이란 말이며,

동시에 동적으로 존재하지 않았던 페이지를 만들어서 제공하지는 못한다는 말입니다..

또한 서버상에서 데이터를 저장하는 일조차 하지 못합니다.

그래서 이러한 일들을 수행하기 위해 웹서버는 다른 애플리케이션에게 도움을 요청하게 되고

이러한 일들을 하는 프로그램을 CGI프로그램이라 하는데,

사용자가 서버에게 웹페이지를 통한 요청이 있었을 때,

그것이 응용프로그램에 의해 처리 될 필요가 있다면

서버가 응용프로그램을 실행시키고 필요한 메시지를 받는다.

이 때 서버와 응용프로그램 사이에 데이터를 주고 받기 위한 표준화된 방법을 CGI라고 합니다.

 

CGI프로그램은 보통 펄 스크립트와 파이썬, PHP같은 언어로 작성하게 됩니다.

CGI는 Common Gateway Interface의 약자인데요,

웹서버는 GET혹은 POST방식으로 넘어온 파라미터들을 이러한 CGI프로그램에 넘겨주게 되고

CGI프로그램은 이러한 정보를 가지고 웹 페이지를 만들어 웹서버에게 넘겨주고,

또다시 웹서버는 이 페이지를 클라이언트에게 넘겨주게 됩니다.

이렇게 생성된 페이지는 웹서버입장에서는 정적인 페이지이기 때문에 ,

웹서버는 실질적으로는 동적인 컨텐츠를 만들지 못함에도 불구하고

클라이언트입장에서는 동적인 페이지를 보내는 것처럼 보이게 되는것입니다.
이러한 CGI프로그램과 비슷한 역할을 하는 것이 서블릿입니다.

'My PROJECT > 1st project' 카테고리의 다른 글

openssl 생성 및 간략 정리  (0) 2011.09.27
우분투에서 apm 설치하기  (0) 2011.08.03
SNMP  (0) 2011.07.09
APACHE 란  (0) 2011.07.07
1. 시스템 모니터링 교수님 질문내용-답변  (0) 2011.07.07
Posted by babuzzzy