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

badseat의 이미지

너무 거대한 클래스를 적당하게 쪼개고 싶어요!

안녕하세요

최근 이직에 성공한 낡은신입입니다.

제가 이직하고 처음으로 맡은 업무가, 전임자분들이 덕지덕지 구현만 겨우 해놓은 초거대 클래스를 좀 잘게 쪼개서 가독성과 효율성을 높이는 겁니다.

그런데 제가 워낙 C만 해오다보니 oop가 익숙치가 않아서 방향을 좀 잡고자 이렇게 질문글을 올리게되었습니다.(__)

상황은 이렇습니다.

SUPER_BIG_CLASS.cpp

k1d0bus3의 이미지

호환성을 위해 커널 재컴파일(커널옵션변경)을 할때 주의할 점들을 알려주세요.

제 목표는 특정 리눅스배포판(CPU와 각종디바이스 호환성이 매우 나쁨)의 커널을 재컴파일(커널 옵션 변경) 해서,
90%이상의 일반PC에서 잘 작동되도록 호환성을 높이는 것입니다.

저는 예상되는 문제점/충돌/난의도/작업시간 등등이 궁금하네요.

경헙자분들의 조언을 부탁드립니다.(뭐든지)

shi510의 이미지

linux GUI 프로그래밍...

QT 라이브러리 말고
linux에서 제공하는 API 중에 간단한 GUI 창 띄우는 것이 있나요?

linusix의 이미지

nginx 499 에러 문제

안녕하세요.

nginx 와 gunicorn 을 이용하여 proxy 백엔드를 설정하다가 499 에러 문제 때문에 질문올립니다.

nginx proxy 의 timeout 은 600 초로 다 설정해왔는데.. 클라이언트가 접속시 499 에러가 뜹니다.

검색을 해보니 서버가 반응을 끝나기 전에 클라이언트가 연결을 끊었을 경우 발생한다고 합니다.

여기서 자세한 현상은

맥과 윈도우즈에서는 2분이 되면 정확히 499 에러가 발생하고, 우분투 (서버와는 물리적으로 분리된 다른 서버) 에서 는 499 에러가 발생하지 않는 점입니다.

그리고 위의 현상은 연결을 80port 로만 했을 경우 발생하고 nginx 연결포트는 다른 포트(임의의 1234port) 로 하면 맥,윈도우즈에서 499 에러가 발생하지 않고 서버가 끝날때까지 접속이 유지가 됩니다.

공유기문제인가해서 인터넷을 직접접속을 해서 날려봤는데도 똑같은 증상이고. 테스트는 커맨드에서 curl 로 날렸습니다.

tcpdump 를 떠서 보았는데..

Samuro의 이미지

FUSE를 처음다뤄보고있는데 어디가 문젠지 모르겠네요

truncate로 만들어낸 128MB disk.img에 퓨즈로 만들 파일시스템을 얹으려고 하는데 소스포지에 있는 퓨즈 예제를 봐도 모르겠네요.

지금은 일단 파일 읽기 쓰기만 되도록 만들고싶은데, 다른건 둘째치고 disk.img를 파일시스템을 얹을 저장장치로 쓰려면 어떻게 해야하나요?

지금 이상태로 실행하면 루트 디렉토리에 disk.img가 생기는데 main의 mount에서 에러가 발생합니다.

아니면 소스포지의 예제말고 .img를 사용한 예제나 도움될만한 글이라도 추천해주시면 감사하겠습니다.

makefile

cnlal777의 이미지

웹에 대해 문외한이라.. 기본적인 내용 질문 답변 부탁드립니다!

안녕하세요 웹에 대해서 제가 익숙하지가 않아서
KLDP 여러분에게 잘 모르는 내용을 질문드리고싶은데요
현재 제가 아는 것은 Apache Mysql PHP 조금 정도입니다.
아마존 웹 서비스 (AWS) 에서 제공한 서버에서 LAMP 를 사용 해본 정도인데..
지식이 너무 적다보니까 궁금한 내용이 많이 생기는데 검색해도 잘 안나오네요..

질문은
DNS 를 이용하려면 호스팅 업체를 거쳐야 하는가? 입니다.
개인이 서버(서버용 컴퓨터)를 구매하고 집에서 랜선을 끼워서 웹페이지를 만들 수는 없나요?
그렇게 만든 페이지를 도메인 네임을 가지게 할 수 있나요?

제 생각은 중고 서버를 구매한 뒤에, 집에서 돌리는 겁니다.. 따로 추가유지비가 없게요.
리눅스 기반의 아파치 서버를 만들고 XE를 올릴 생각인데 이렇게 집에서 하면 도메인을 갖게 만들 수 없나요..?

cococo의 이미지

C 포인터 연산 질문입니다.

포인터 연산 관련 질문입니다.
지금까지 문제없이 쓰고 있었다는 게 더 신기합니다만...부끄러운 이야기입니다.

어쨌던, 이전에 전혀 의심하지 않고 쓰던게 문법에 걸려서 질문드려 봅니다.

코드는 아래와 같습니다.

------------------------------

char (*list1)[4];
char *(list2[4]);
char str1[] = "aaa";
char str2[] = "bbb";
char str3[] = "ccc";

list1[0] = str1; // 문법오류
list2[4] = str1; // 컴파일성공. 실행성공.

------------------------------

보시면 아시겠지만, 각 문자열( str1 ~ str 3 )을 관리하는 별도의 포인터를 사용하려는 겁니다.
그런데, 문자열의 포인터 할당이

list1 변수 형식은 안되고
list2 변수 형식은 되는군요.

xxxvan의 이미지

혹시 "%[^.,\"\'!?]" 설명해주실 수 있나요??..

sscanf_s(word,"%[^.,\"\'!?]",word,256);
해당 특수문자들을 제외하고 word에 다시 값을 저장한다. 라고 알고는 있지만 막상 저 부분에 대한 것을 정확히 모르겠네요.. 괄호안에 문자 위치가 바뀔시에는 실행되지도않고해서 이렇게 질문드립니다.

sinobazio의 이미지

xargs 를 활용하여 많을 파일을 move 시에 mv 를 최소한 호출할수 있는 방법이 있을까요?

하루가 지나면 다른 폴더로 특정 파일을 move 시킵니다.

다만 파일 개수가 많기 때문에 매개변수 리스트가 너무 길어 find 와 xargs 를 써서 아래처럼 구현하려고 합니다.

find PATH1 -type f -name "*.log" | xargs -i mv {} PATH2

물론 실행은 됩니다. 다만 xargs -t 옵션으로 실행되는 것을 보면,

제가 예상했던 find 로 찾은 리스트들을 적절한 크기로 잘라서 mv 인자에 넣어주지는 않고

(가령 mv PATH1/1.log PATH1/2.log .... PATH2) 파일 하나씩 mv 를 호출하더라구요.

find PATH1 -type f -name "*.log" | xargs
=> 여기까지만 하고 echo 로 출력되는 output 은 적당한 길이로 묶인 파일 리스트로 들어오는데 (1.log 2.log ... )

-i 옵션을 주고 mv 를 하려고 하면 각 파일마다 매번 mv 를 호출하고 있네요.

kisskiss011의 이미지

리눅스 cron으로 실행 시 expect가 제대로 되지 않습니다.

현재 리눅스 서버 공부중으로, scp 및 expect 자동 전송 프로그램을 해보고 있습니다.

크론에서 매 시간 10분에 shell 파일을 실행하게 해서

쉘 파일에서는 expect를 이용해서, test.sh 파일에 아래처럼 짰었습니다.

spawn scp 로컬디렉토리/파일 서버계정@서버정보:파일명
expect{
...
...
...

-nocase "암호" {
send "비밀번호\n";
}
}

그리고 실행할 때 test.sh > testlog.txt 로 메시지를 남기도록 해서 확인했습니다.

그런데 이게 cron으로 자동 실행될 때는 testlog.txt에 "암호:" 이후로 어떤 텍스트도 남지 않는 반면
shell 로 접속해서 test.sh 파일을 직접 실행하면, testlog.txt에

파일명 0% 0 0.0KB/s
파일명 100% 70KB 70.0KB/s

이렇게 메시지가 저장됩니다.

페이지

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