프로그래밍 QnA

viper9의 이미지

동일 데이터를 파일에서 읽어오는 것과 데이터베이스에서 읽어오는 것이 차이가 있을까요?

이런저런 공부를 하며 웹서버를 한번 설계해보면서 이런 생각이 들었습니다.

너무 초보적인 생각일지 모르겠습니다만...

HTML 내용을 파일에서 읽어오는 것이 아니라 디비에서 읽어오면 더 속도가 빨라질까? 하는 의문이 듭니다.

동일한 내용의 HTML을...

.html 파일로 두고 파일을 읽어서 클라이언트로 보내는 것과,
MySQL이나 오라클 디비에 넣고 디비에 접속해서 읽어서 클라이언트로 보내는 것과,

두 방법이 속도나 성능에서 차이가 있는지요?

어차피 디비도 결국 파일에서 읽고 쓰는 것이니 차이가 없을 것 같기도한데 정확히 모르겠습니다.

속도나 성능상에 잇점이 있다면 한번 만들어서 실험해보고자 합니다.

(사용언어는 C++입니다.)

trymp의 이미지

IPC 통신을 hooking 할 수 있는 방법이 있나요??


리눅스상에서 데몬들끼리 통신을 할 때,

IPC 라고 불리는 shared mem, semaphore, mq, socket 통신, pipe

같은 것들이 있는 것으로 알고 있습니다.

제가 이런한 데몬 사이에 통신을 hooking 해서 보고 싶은데요.

현재로써는 tcp/ip socket 통신외에는 볼 방법이 마땅치 않네요.

unix socket 이나 pipe 같은 것들도 hooking 할수 있나요??

데몬사이에 통신을 분석할 필요가 있어서 질문드립니다.

고수님들의 많은 조언 부탁드립니다.

declspec의 이미지

ELF 섹션과 프로그램헤더의 권한질문

ELF 포맷에서(PE 도 마찬가지로)
여러개의 섹션이 모여서 하나의 프로그램 헤더가 된다고 합니다
그런데 readelf 커맨드를 써보면
섹션도 섹션마다 RWX 권한부여가 되어있고
프로그램 헤더도 RWX 권한부여가 되어있습니다

1. 서로다른 권한을 가진 섹션 여러개가 하나의 프로그램 헤더가 된다면
권한은 어떤 규칙으로 처리되는걸까요?

2. 그리고 아래같은 경우 첫번째 LOAD 헤더랑 NOTE 헤더가 매핑되는 가상메모리 영역이
중첩되는데 권한은 서로 다릅니다(RE, R)
어떻게 된걸까요?

jhl9105의 이미지

리눅스 .a 파일 질문입니다.

안녕하세요.

저는 리눅스를 배워본 적이 없는 학생입니다..

임베디드에 관심을 갖으면서 리눅스에 대해서도 조금씩 배워가고 있습니다.

지금 사용 하고 있는 보드는 ADChips 라는 회사에서 만든 eagle 이라는 칩 이구요, 이를 통해서

영상처리 프로그래밍을 하고 있습니다.

회사측에서 제공한 sample 프로그램을 컴파일 하여 보았는데, 이상하게 참조하고 있는 모든 라이브러리를 뒤져도 해당 .c 파일에서 사용하고 있는 함수의 프로토타입이나 정의를 찾아볼 수가 없었습니다..

사용하고 있는 함수는 DMA에 관련된 함수로(첨부파일의 .c 파일 안의 eagle_GDMA라는 함수 입니다)
회사측에서 만들어 놓은 것으로 보입니다. 아마 FPGA의 RAM에서 영상 data를 읽어오는 함수로 보입니다.

그런데 이 함수의 파라미터에 대한 의미를 정확하게 모르겠어서 include된 header파일을 열어 보아도 프로토 타입 선언이 되어 있지 않았습니다..

thslrtoo의 이미지

헤더파일은 왜 만드나요??

아주 초보적인 질문입니다.
C나 C++을 보면 헤더파일이 따로 존재하는데요.
헤더파일은 왜 만드나요??
보통 헤더파일에는 C같은 경우에는 함수 원형이나 사용할 변수들이 선언되어 있고,
C++같은 경우에도 클래스 선언이나 전역변수등 C와 다를바 없습니다.
이런것들은 .c나 .cpp 파일에서도 선언할 수 도 있지않나요??
그리고 #include 할때 .h 파일 말고 .c나 .cpp 파일로 해도 되던데
왜 굳이 헤더파일을 따로 만드나요??
단순이 보기편하라고, 혹은 관리하기 편하라고 그렇게 하는건가요??

oliccc의 이미지

sizeof 의 실제 코드?!

안녕하세요..

sizeof가 어떻게 구현된 것인가 알아보다가

#define getsize(x) ((char *)(&x+1) - (char *)(&x)) 같은 구문을 발견했습니다. 이해가 잘 가지 않아 아래 코드로 주소값을 찍어보니

int a[] = {1, 2, 3, 4, 5, 6};

printf("a = %p\n", a);
printf("&a = %p\n", &a);
printf("a+1 = %p\n", a+1);
printf("&a+1 = %p\n", &a+1);

OUT:::

a = 0x7fffed3a0da0
&a = 0x7fffed3a0da0
a+1 = 0x7fffed3a0da4
&a+1 = 0x7fffed3a0db8

두둥..

원래 이런 것인가 하고 코드를 약간 바꾸어서

int a[];

dndmania@naver.com의 이미지

리눅스 프로그래밍중 Aborted (core dumped) 어떻게 디버깅하나요?

안녕하세요

요즘 fluxbox 를 수정하는 x11 프로그래밍을 하고있는데요

가끔 널포인터를 사용한다던지, 로직이 틀리면 Aborted (core dumped)해당

문구가 나오면서 시스템이 중단이 되더군요....... 그런데

디버깅할 방법이 마땅치 않네요, 저렇게 죽으면 죽는 exception 이라던가

로그가 따로 남는 부분이 있나요???

혹시 아시는분 답변 부탁드립니다.

감사합니다.

jocdoc의 이미지

mysql 오픈 소스 코드에 대해 여쭙니다.

안녕하세요. 조그만 호스팅 회사를 다니고 있습니다.

다름이 아니라 저희가 도메인을 세팅하려는데 도메인명을 계정명으로 생성되게 시스템이 되있습니다.

그런데 문제가 한글도메인을 세팅하는데 퓨니코드로 변환된것을 계정으로 생성하려니 길이가 35자라 에러가 생기는

겁니다. (CentOS 시스템은 31자로 제한이 되있음.) 그래서 useradd 와 passwd를 수정하여 48자로 늘려서

해결을 보았는데 문제는 mysql 에서 일어나는겁니다. mysql에서도 소스를 수정보아 mysql 계정 생성도 잘 되게

수정을 하였는데. 로그인할때 문제가 일어납니다.

예를 들어서

mysql -u abcdef12345678910111213141516171920 -p
ENTER PASSWORD:
ERROR 1045: Acess denied for user: 'abcdef123456789101112131415161719@localhost' (Using password: YES)

rider7979의 이미지

char 배열에 있는 값을 float 형태로 집어 넣으려면 어떻게 하나요?

안녕하세요

예를 들어
char baTemp[4]= {1,2,3,4}라는 배열의 값을
float 변수에 1234라는 값으로 넣고자 할 경우
어떤 방법이 좋을까요?
비트연산으로
한바이트씩 밀어넣는 방법으로 아래와 같이 하면 가능할까요?

float Temp = (baTemp[0] << 24) & 0xff000000;
Temp |= (baTemp[1] << 16) & 0x00ff0000;
Temp |= (baTemp[2] << 8) & 0x0000ff00;
Temp |= (baTemp[3]) & 0x000000ff;

페이지

프로그래밍 QnA 구독하기