프로그래밍 QnA + 설치 및 활용 QnA

hahaite의 이미지

route - default gateway 영구 저장 방법 문의드립니다.

안녕하세요.

현재 virtualbox 에서 두개의 이더넷(NAT, 브리지네트워크)을 설정하여 사용중인데요.

route 명령어를 내리면 아래와 같이 나타납니다.

tpe4의 이미지

C++ 11의 lambda와 shared_ptr을 활용한 비동기 프로그래밍에 대해

정답이 있는 질문은 아닐 것 같지만... 다른 분들의 의견이 궁금하여 글을 올려봅니다.

C++11을 사용하면서 람다를 너무 너무 잘 쓰고 있습니다. 특히 비동기 호출을 할 때 아주 유용한데, 문제는 변수의 소멸 시점이더군요.
해당 비동기 함수의 콜백이 완료되는 시점까지 캡쳐한 변수가 살아남아야 하는데, shared_ptr을 이용해서 값 복사로 캡춰하는 것으로 가능하다 싶었습니다.

auto socket = std::make_shared(ios);
auto header = std::make_shared();
socket->async_read_some(boost::asio::buffer(header.get(), sizeof(ST_PACKET_HEADER)),
[header, socket] ()
{
...

이런 식으로 사용을 몇 번 해 봤는데 예상과 달리 그닥 편하지가 않더군요.

ybn3597의 이미지

linux(ubuntu)에서 router solicitate, advertisement message 확인

linux에서 router solicitate 및 advertisement 메세지를 확인하기 위해서 wireshark를 설치하고

패킷 감시를 하면서 지속적으로 체크를 해보았습니다만.

해당 메세지를 발견할 수가 없었습니다.

혹시 현재 리눅스에서 solicitate 및 advertisement 메세지를 확인 할 수 없는 건가요?

아니면 다른 방식으로 라우터의 ip 및 mac주소를 알아오는 다른 절차가 있는 건가요?

getbest1의 이미지

혹시 웹..

보통 웹사이트에서 글쓰는데에서 이미지(업로드 후)랑 같이 글 쓰고 저장하면 데이터베이스에 이미지 저장하는 별도의 데이터베이스 컬럼에 저장을 하나요?
아니면 그냥 글내용에 이런식으로 저장되나요?

hmd7932의 이미지

void 포인터와 크기 비교

안녕하세요? c언어 프로그래밍을 하다가 궁금한 점이 있어 질문 올립니다.

두 수의 크기를 비교하는 함수를 디자인하려 합니다.

수는 void*로 받아서 int건 float건 상관없이 비교를 하려합니다.

함수의 프로토 타입을 아래와 같이 하려고 하는데요

int compare(void* a, void* b, int size_a, int size_b)

함수 안에서 다음과 같이 unsigned char의 포인터로 캐스팅하고 size만큼 점프하면서 두 수를 비교하려 했습니다.
unsigned char* a_val = (unsigned char*)a;
unsigned char* b_val = (unsigned char*)b;

그런데 여기서 생기는 문제는 두 수가 같은지는 그냥 1바이트씩 비교하면 되지만 두 수 중 어느 수가 큰지 작은지는 어떻게 해야하나요?

int같은 경우라면 상위 바이트부터 비교해서 큰 것이 크다라고 하면 된다고 생각했지만, 부호가 다를 수 있고, 또 double이나 float같은 경우 저장구조가 다른데...

nananahaha의 이미지

uint32_t 이런 type에 대해서

uint32_t
uint8_t
등등...

인터넷을 검색해본 결과
OS(?)(platform?)마다 int의 크기가 다르기때문에
그 크기를 명시하기위해서 int a; 가 아닌
uint8_t a;
이렇게 정의한다고 설명이 나와있었습니다.
근데
typedef 을 보면

typedef signed int int16_t
이런식으로 나와있습니다.

제가 signed int를 8bit로 정의하는 A라는 platform을 사용하면.. 이름이야 어찌돼었건 int16_t 는 8bit가 할당되는것아닌가요?

그래서 제 생각은... 저렇게 정의한게 무의미하게보인다는겁니다. ㅠㅠ 뭔가 분명 잘못알고있는걸텐데..
알려주세요!!

그리고 용어는 os가 맞나요 platform이 맞나요? .. 모르는게너무많습니다.

hajin0112의 이미지

xcode에서 갑자기 문자열이 이상하게 출력됩니다.

정말 간단한 예를 들어서

char ex[] = "대한민국";
printf("%s \n", ex);

이렇게 컴파일하면 네이버가 정확히 출력됩니다. 헌데 이상한게..

char ex[100];
scanf("%s", ex);
printf("%s \n", ex);

scanf로 대한민국을 입력하면

ㄷㅐㅎㅏㄴㅁㅣㄴㄱㅜㄱ

이렇게 자음 모음이 분리가 되어버립니다. 이거 때문에 코드를 실행을 할수가 없어요 .. ㅠ

우측에 보니까 text settings라는게 있던데

unicode (utf-8)이라고 되어있고, os x/unix(lf) 로 되어있습니다.

canuyes의 이미지

egrep AND condition 관련 질문입니다.

말 그대로 egrep으로 특정 문자열을 모두 포함 하는 열을 받아 파일로 저장하고 싶습니다.
이때, 검색할 문자열은 매개 변수로 받아지게 됩니다.

egrep "pattern1" data > result
egrep "pattern2" result > result

와 같은 형식으로 반복문으로 풀이중인데, result에 값이 저장되질 않네요..ㅠㅠ
어떻게 하면 좋을까요?

Starmomo의 이미지

Vim, ssh로 원격지 서버 접속하기

[ vim ssh {server} ] (local 환경)Vim 원격지 서버 파일 편집. vim (공백){scp|sftp|ssh]://userid@ip_or_domain/[/]directory/path/[filename] 이렇게 하면 열려야 하는데 안 열려서 한참을 헤멥니다. 루트(root)계정일 때에는 서버 뒤에 슬래쉬가 하나오고, 사용자 계정일 때에는 두 개를 붙여야 합니다. (곱슬괄호 안에 {..|..|..}는 반드시 하나 선택, 각괄호는 [..] 있기도 하고 없기도 한 옵션인 거 아시죠.)

[ OpenSSH 아니면, '~/.ssh/authorized_keys2' < ~/.ssh/id_rsa.pub ] 접속을 해서 파일을 열었는데, 디렉토리를 옮길 때마다 id/password를 입력해야 합니다. 이래서는 작업을 할 수 없지요. 그런데, 기존의 keygen하여 생성한 rsa.pub파일을 .ssh/authorized_keys에 넣어도 안 되는 경우가 있습니다. 물론, 퍼미션 등등을 몇 번씩 확인했지요. 그럴 때에는 ~/.ssh/authorized_keys2 에 넣으면 됩니다.

vi08의 이미지

함수 포인터와 함수 객체를 사용하는 이유를 알고 싶습니다.

C에서 함수 포인터를 사용하는 이유는 < 유연성을 위해서 > 라고 알고 있습니다.

함수 포인터에 그때그때 다르게 정의된 함수를 대입하여 사용한다, 까지는 알겠습니다.

많은 분들이 함수 포인터가 유용하게 쓰이는 곳이 Callback와 Strategy 패턴이라고 말씀하시던데

Strategy 패턴은 차치하고서, Callback 함수에서 함수 포인터가 유용하게 쓰이는 이유를 알고 싶습니다.

아니, 정확히는 어떤 방식이길래 유용하게 쓰이는지를 알고 싶네요.

함수 객체는 아예 미지의 대상입니다. 함수 포인터를 사용하면 되니까 쓰지 말라는 막연한 말만 들었네요.

대체 무엇 때문에 사용하는 건가요? STL이 범용성과 효율성을 추구한다면 함수 객체도 나름의 범용성과 효율성을 갖췄을 텐데.

함수 포인터와 함수 객체의 장단점과, 각각을 비교해서 무엇이 어떤 상황에서 더 나은지, 나쁜지를 알고 싶습니다~

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기