프로그래밍 QnA

negabaro의 이미지

리눅스에서 특정 행을 가로로

define host {
use gen-host
host_name int-ssvm
alias ssvm
address 10.10.5.83
}
define host {
use gen-host
host_name nfs-ebank1
alias ebank1
address 10.255.2.186
}

위와같은 형식으로 여러개의 텍스트가 쓰여져있는 파일이 있는데

{ 부터 } 까지의 키워드로 안에있는 데이터를 가로로 만들려고하는데 어떤 코맨드를 사용 해야될까요;;

이하와 같이 변환

int-ssvm 10.10.5.83
nfs-ebank1 10.255.2.186

geniefix의 이미지

C++ 에서 동적메모리 할당 처리 구문관련 질문입니다.

안녕하세요.

단순히 아래 구문만 보았을때 IF문에서 "Can't allocate memory." 라는 오류메시지가 출력될 수 있는 경우는 어떤 경우인가요?

g_stAList.lppA = (A **) calloc(g_stAList.nCount, sizeof(A *));
if( g_stAList.lppA==NULL ){
g_objMessageLog.AddMessage(ML_MODE_LOG, "Can't allocate memory.");
PQfinish(lpConn);
return(-1);
}

답변 감사합니다.

bbiro의 이미지

Query Segmentation을 위한 알고리즘? (SK플래닛 Code Sprint)

SK플래닛에서 주최하는 코드 경진대회에서 올해 1라운드 문제로 통계에 기반한 문자열 분리에 관한 문제가 제출되었습니다.

https://codesprint.skplanet.com/2014/participation/round1_intro.htm

이 문제는 머신러닝과 관련된 것 같은데, 머신러닝에 경험이 없는 사람은 어떤 걸 먼저 알아야 할까요? 관련 문서나 구글 키워드를 조언해 주시면 고맙겠습니다.

"word segmentation machine learning" 으로 구글검색했는데 논문 pdf 만 몇개 나오고 예제 코드 같은 것은 찾기가 어려워 이렇게 질문을 올립니다.

trymp의 이미지

linux memory 관리에 관한 질문입니다.


리눅스 메모리관련 이슈로 고생하고 있는 1인입니다.

1. 리눅스에서 user/kernel 을 3GB/1GB 로 나누어 쓴다고 들었습니다.
이것을 2GB/2GB 로 나누려면 어떻게 해야 하나요?

2. 그리고 linux 에서 보았을 때 user(1GB) 중 얼마나 사용하는지?
kernel(3GB) 중 얼마나 사용하는지 알려면 어떤 방법이 있나요?

3. 메모리 관리를 DMA , NORMAL, HIGHMEME 이렇게 3가지 zone 으로 관리한다고 들었습니다.
user deamon 에서 10MB 를 malloc 하면 3가지 zone 중 어디에서 할당되게 되나요?

위의 3가지 질문에 대하여 조언해주시면 감사하겠습니다.

idrukawa의 이미지

[완료] 리눅스 ps -o pcpu

안녕하세요.
리눅스에서 프로세스의 cpu, memory 사용률을 확인하는 프로그램을 작성하려고 합니다.

ps를 이용해서 작성했는데요.
ps -o pcpu,pmem,pid,args --ppid=%d

for 무한루프 프로그램을 제작해서 테스트를 해본 결과
pcpu 결과가 100%를 넘어서는 경우가 있습니다.

1. 원인을 알 수 있을까요?
2. 다른 구현 방법이 있으면 알려주세요~

oblab의 이미지

qt embedded에서 라이브러리링크 어떻게 해야 하나요?

x86 리눅스에서 라이브러리 링크시켜서 컴파일 실행까지 다 해봤는데요
라이브러리 링크에러가 나는것 같더라구요

링크관련 소스 : LIBS += ../../lib -lmylib
이런식이고요 저 상태에서 libmylib.so를 x86
컴파일을 하면 라이브러리 링크 에러가 나는데요
undefined reference to 'xxx()' 이런 라이브러리과련 함수에러가 나옵니다

링크경로는 확실하게 맞는데요;; 어떻게 해결해야 하나요?

criny의 이미지

버퍼 오버플로우를 이용한 루트쉘 획득 기법에 관한 궁금증이....있어서 질문 올립니다.

보안 관련해서 처음 해킹관련 지식을 배우고있는 초보 입니다.

제가 현재 보고있는 책에서 버퍼 오버플로우를 이용한 루트쉘을 획득하는 방법을 소개했고,
이방법은 아직까지 널리 쓰이는 해킹방법중 하나라고 설명했는데요...
책에서 소개한 방법은 대략 아래와 같습니다.
======================================
setuid가 설정된 프로그램을 이용해서
euid가 0인 상태에서
프로그램의 허점을 이용하여 "setuid(0), system("/bin/bash")" 코드를 어떻게든 실행해서 루트 쉘을 획득 한다.
======================================

제가 궁금한 것은, 저 방법은
커널을 수정해서
uid가 0이 아닐때에는 setuid 시스템콜을 막아 버리면 되지 않나요?

Lightstar의 이미지

여러 스레드에서 전역 객체 사용

어떤 처리 함수를 가진 클래스를 전역 변수(객체)로 만들고 여러 스레드에서 그 객체의 함수들을 사용하는건 잘못된건가요?

전역 객체 A에 함수 a랑 b가 있습니다.

스레드1에서 A.a()를 불렀는데 이건 30초가 걸립니다.
10초쯤 지났을 때 스레드2에서 A.a()를 부르면 스레드1이 끝나야 작업을 처리하게되나요? 아니면 스레드1 관계없이 바로 처리시작할 수 있나요?

전역 객체 내부에 전역변수가 선언되어 있으면 물론 여러 스레드에서 전역객체의 그 전역변수의 값을 이용하려고 할 때 문제가 되겠지만 함수도 같은지 궁금합니다.
함수내부에서 변수들을 선언해준건 함수가 실행될 때 만들어져서 사용되는거니 위에서 문제가 없다면 함수내부 변수는 문제가 없을것같습니다 맞나요?

좀 더 나아가면 전역 객체가 아니더라도 어느 클래스의 함수를 같은 객체(인스턴스)를 이용해서 호출할 때 동시에 처리가 안되고 하나가 끝나야 다음 작업을 할 수 있나요?

모지리의 이미지

부모 프로세서가 죽었을때 자식 프로세서가 포트 점유

안녕하세요.

부모 프로세서가 죽는것은 다른 이슈이구요. 부모 프로세서가 죽었을때 자식 프로세서가 TCP 포트를 점유하고 있습니다. fork 할때 어느 부분을 처리 해주어야만 자식 프로세서가 TCP 포트를 점유하지 못하도록 할수 있나요? 리플 달아 주시는분들 복받으실겁니다.

# lsof -i :특정포트

해서 보면 점유되어있는게 보입니다.

vi08의 이미지

문자열 복사, 붙이기 등의 내부 구현이 궁금합니다.

char str1[3] = {0,};
char* str2 = "World";
char* str3 = new char[3];
memset(str3, 0, sizeof(char)* 3);

strcpy(str1, str2);
strcpy(str3, str1);

cout << str1 << ", " << str3 << endl;

getchar();

delete[] str3;

표준 문자열 함수를 재정의해 보던 중, 묘한 걸 발견했습니다. 바로 위와 같은 짧은 코드 때문이었는데요.

strcpy로 str1과 str3 모두 str2의 "World" 문자열이 복사됨은 물론 출력까지 되더군요. 의외의 결과에 당황하고 말았습니다.

물론 오류 메시지는 떴습니다. str1과 str2의 복사에 대한 오류 메시지 역시 짐작이 가고요. 하지만 str3을 delete하려고 했을 때 오류가 뜨는 건 무슨 영문인지 모르겠네요.

페이지

프로그래밍 QnA 구독하기