Programmer Application Note

2015년 8월 26일 수요일

openvpn 설치

오후 7:06 Posted by PAN.SPOT , 1 comment
혼자 사용할때 설정이 간편한 openvpn-as 설치 방법 (ubuntu14.04 기준)

server 측 설정

$sudo apt-get install openvpn-as
$passwd openvpn //비밀번호 설정 (접속 비밀번호임)
  • https://serverip:943/admin 여기로 접속하면 사용자 추가등 기본 설정을 할 수 있음. 단 사용자는 2명이상일 때 추가 결재를 해야 사용가능한것으로 보임.
 

client 측 설정

windows 사용자 기준
  1. openvpn client 설치 https://openvpn.net/index.php/open-source/downloads.html
  2. https://serverip:943/ 여기로 접속
  1. openvpn connect를 설치 해도 되지만 다른os에서도 사용 하기위해 로그인으로 변경하여 로그인한다.
  1. openvpn 프로파일을 다운 받는다.
  1. C:\Program Files\OpenVPN\config 폴더에 다운받은 프로파일을 저장한다.
  2. openvpn client gui를 실행하여서 사용자와비밀번호를 입력하고 (추가하지 않았다면 openvpn/설정한비번) connect 한다.

2015년 8월 9일 일요일

복사생성자와대입연산자 코딩 시 주의 할 점

오후 6:05 Posted by PAN.SPOT , No comments
디폴트 대입연산자를 사용하지 않고 직접 코딩 한다면 우측 연관 연산을 고려하여 자기자신의 참조자를 반환하도록 하자. 또한 자기 대입에 대한 처리도 하자.
우측연관 연산의 예
x = y = z = 15;
자기 대입에 대한 예
x = x; , a[i] = a[j];
class Widget{
   Widget(const Widget& rhs); 
   Widget& operator=(const Widget& rhs);
}
Widget& Widget::operator=(const Widget& rhs)
{
   Widget temp (rhs); // 자기 대입에 대한 처리
   swap(temp); // 자기 대입에 대한 처리 
   return *this; //우측연관 연산 처리 
}
복사생성자와 대입연산자를 코딩할때는 모든 맴버를 복사하도록 하자
class Customer{
   Customer(const Customer& rhs); 
   Customer& operator=(const Customer& rhs);
private:
   sting str;
   Data data;
}
str,data도 반드시 복사 하도록 하자.
class ACustomer : Customer{
     Customer(const Customer& rhs) : Customer(rhs) 
     {
     .....   
     }
     Customer& operator=(const Customer& rhs)
     {
        Customer::operator=(rhs);
     }
}
위와 같이 베이스 클래스의 생성자와 대입연산자를 호출하여, 베이스 클래스의 복사도 해주자.