본문 바로가기
반응형

SWE324

[네트워크][linux][windows] 네트워크 통신 테스트에 유용한 툴 "socat" 소개 네트워크 통신 테스트할 때, 유용한 툴을 소개합니다. 프록시 서버로 사용할 수도 있고, 간단한 소켓으로 만들 수도 있습니다. 강추!! Socat 이란? Socat은 Gerhard Rieger가 개발한 오픈소스 소프트웨어입니다. Gerhard Rieger는 다목적 소켓 터널링을 위한 유명한 유닉스 소켓 프로그램인 "Netcat"의 저자이기도 합니다. Socat은 Netcat과 유사한 목적을 가지며, 다양한 통신 작업을 수행할 수 있는 강력한 도구로 인기를 얻었습니다. 네트워크 통신을 위한 다목적 소켓 터널링 프로그램입니다. 소켓을 생성하고, 소켓 간 데이터를 전송하고, 소켓을 연결하는 등 다양한 네트워크 작업을 수행할 수 있습니다. Socat는 다양한 운영체에에서 사용할 수 있으며, 프록시 서버, 포트 포.. 2023. 7. 7.
[C++] 멀티스레드에서 안전한 자원 관리 방법 | 병목현상 예방, mutex, lock_guard Thread-safety 변수 구현 방법 multi thread 환경에서 안전성을 갖춘 변수를 구현해보자 int val 변수를 thread-safey 하게 작성하고 싶으면, 보통 int val를 감싸는 커스텀 클래스를 구현하게 된다. 해당 클래스에서는 우리가 사용할 int val 변수를 가지고 있고, 해당 변수의 유일 사용을 보장해줄 mutex 변수도 추가한다. 코드는 아래와 같다. class MyClass { public: MyClass() : val(0), mtx_() {}; ~MyClass() {}; private: int val_; std::mutex mtx_; public: void SetVal(int val) { std::lock_guard lock(this->mtx_); this->val_ .. 2023. 5. 26.
[C++][효율화] 공백 클래스의 크기는? / EBO란? / 최적화 기법 / 바이트 패딩 공백 클래스의 사이즈? Class Empty() {} 예를 들어, 위와 같이 아무런 데이터가 없는 empty 클래스가 있다. 이 공백 클래스의 사이즈는 어떻게 될까? 정의된 데이터가 없으므로 객체는 메모리 사용을 하지 말아야한다고 생각할 수 있지만, 실제로 위 클래스의 사이즈는 1이 나온다. Std::cout 2023. 5. 23.
[C++] typedef와 using의 차이점 C++에서 typdef와 using 둘 다 별칭 생성 키워드이다. 그러면 차이점이 뭘까? 동일한 기능의 키워드가 왜 두 개 존재하게 되었을까? typdef typedef란? typdef는 C언어에서 사용되던 문법이다. 타입의 이름에 대한 별칭을 생성하는데 사용된다. 즉, struct나 class에 대해서만 사용 가능하다. Typedef 예제 코드 typedef double distance_t; class Circle { public: distance_t radius; }; // double 타입에 대한 별칭으로 distance_t를 생성하였다. using Using이란? C++11부터 추가된 문법. Typedef와 다르게 타입뿐만 아니라 변수, 함수, 템플릿 등 모두 별칭 생성이 가능하다. using 예.. 2023. 5. 7.
반응형