프로그래밍 QnA

keuyeon의 이미지

생성 또는 사용중인 파일을 체크후에 복사

자바에서 특정 디렉토리에 파일을 생성해 내용을 쓰고나면
주기적으로 해당 디렉토리에 있는 파일들을 다른 경로로 복사 또는 이동을 시키려고 합니다.

그런데 문제는 파일이 생성중이거나 쓰고 있을 때 파일이 복사가 되면 내용이 없는 빈 파일이 복사가 되지 않을까 싶어서
현재 이 파일이 생성중건지 또는 쓰고있는지를 쉘 스크립트에서 체크를 하고 싶습니다.

구글링을 해보니 아래 리눅스포럼에서 lsof 라는 유틸을 아래처럼 사용한 케이스가 있더라구요.
http://www.linuxforums.org/forum/programming-scripting/64925-how-check-if-file-being-read.html

FILE_NAME="music.mp3"
FILE_OPEN=`lsof | grep $FILE_NAME`

Pike의 이미지

const 변수값 변경 관련해서 질문드립니다

int main()
{
const int test = 0;
int* p_test = (int*)&test;

*p_test += 1;

printf("%d\n", test);
printf("%d\n", *p_test);

return 0;
}

해당코드를 실행하면 컴파일 에러가 뜨는게 아니라 0,1이 출력됩니다.
혹시나 싶어서 포인터의 값과 정수변수의 주소값을 확인해보니 일치하였습니다.
어떻게 이런게 가능한 것인가요?

Pike의 이미지

[완료]const 변수값 변경 관련해서 질문드립니다

int main()
{
const int test = 0;
int* p_test = (int*)&test;

*p_test += 1;

printf("%d\n", test);
printf("%d\n", *p_test);

return 0;
}

해당코드를 실행하면 컴파일 에러가 뜨는게 아니라 0,1이 출력됩니다.
혹시나 싶어서 포인터의 값과 정수변수의 주소값을 확인해보니 일치하였습니다.
어떻게 이런게 가능한 것인가요?

ssobranss의 이미지

일종의 캐시라고도 할수있는 기능인데요 뭐라고 부르는지를 모르겠네요.

웹서버 프로그램을 직접 제작중인데요,

어쩌다보니 dbms 비슷한걸 직접 짤필요가 생겼습니다.

데이터가 여러개의 파일에 나눠져있는데요

요청이 들어올때마다 파일을 열고 읽고 닫습니다.

문제는 자주 열릴 파일들은 정해져있다는 거죠.

멀티 스레딩을 지원하니 만약 스레드들이 하나의 파일을 연속적으로 열고 닫는다면

그 파일이 안 닫히고 계속 열려 있을텐데요.

만에하나 중간에 모든 스레드에서 그 파일을 닫는 경우에도

그 파일이 곧바로 닫히지 않고 메모리에 남아있었으면 좋겠습니다.

즉 요약하면 파일이 닫히더라도 메모리가 부족하지 않으면 그냥 남아있었으면 좋겠습니다.

제가 직접 짜는 방법도 있겠지만,

운영체제가 이런 기능을 지원하지 않을까 생각이 들었습니다.(os가 뭔지는 별로 상관없습니다만, 현재 테스트하는건 윈도우입니다.)

캐시라고 할수있는 기능인것같아서 검색을 해봤는데 키워드를 못찾겠더라고요.

혹시 여기 관련해서 정보를 가지고 계신 분이 있나요?

kws4679의 이미지

mysql 인덱스가 btree 로 되어있을시에 정렬이 되어있는게 아닌가요?

안녕하세요 컴퓨터 초보입니다

mysql 인덱스걸려있으면 인덱스 자체가 정렬되어있으므로

인덱스를 타고 찾을때는 특히 limit 걸어주었을때에는

리미트 한만큼만 레코드를 훑어보면 되지 않나요?

explain 하면 왜 자꾸 모든 열을 훑어보는지 궁금합니다!!
/??
(explain 시에 나오는 rows 가 실제로 훑어본 레코드 열의 개수인게 맞는거죠???)

paulus1206의 이미지

AvlTree 관련 질문입니다.

AvlTree 프로그래밍 관련 공부를 하고 있는데,
어떤 Avl 트리 T에 대해서 inorder traversal 형식으로 트리를 확인하면서 a와 b 사이에 존재하는 모든 성분을 뽑아내서 새로운 성분의 Avl트리를 반환해야되는데, inorder까지 구현을 하였고 성분을 찾아서 이제 뽑아내서 삽입만 하면 되는데 리턴을 대체 어떻게 해야 되는지를 모르겠네요.

일단 위에 insert(Avltree T,int x)를 구현해놔서 이를 활용하여 삽입하려고 해도 insert란 함수 자체가 한번의 삽입만 작동하고 값을 반환시키는 방식으로 구현이 되있어서 계속 한개의 값만 도출이 되네요.

메인이나 헤더파일을 건드리지 않고도 해결할 수 있는 방법이 있는 것 같은데 내부에 다른 타입 형식의 함수를 생성해서 리턴 시키면 라이브러리포함이 안되있다며 에러가 나고, 그렇다고 클래스 함수로 하자니 메인이나 헤더파일을 건드려야 되고.... 뭔가 계속 딜레마에 빠졌네요.
(기본적인 avl 관련 함수들은 일단 구현을 했습니다.)

요약하자면 이렇습니다.

아래는 제가 구현한 소스코드입니다.

익명 사용자의 이미지

RPM 패키지 만들려고 하는대, 소스파일을 어떻게 묶나요?

SOURCE 폴더에 넣으면 알아서 묶이는 건가요 ?

그렇다면, 묶여진 SOURCE를 어떻게 제가 원하는 장소에 풀 수 있나요 ?

pogusm의 이미지

[완료] 알고리즘 문의드립니다..

01. "1111101100110001100001100000"
02. "1111011010101001010001010000"
03. "1110110110011000110000110000"
04. "1101111001100101001001001000"
05. "1011110101010100101000101000"
06. "0111110011001100011000011000"
07. "1101001111100011000101000100"
08. "1010101111010010100100100100"
09. "0110011111001010010100010100"
10. "0001111111000110001100001100"
11. "1101001000111111000011000010"
12. "1010100100111110100010100010"
13. "0110010010111110010010010010"
14. "0001110001111110001010001010"

asd0201의 이미지

[완료]shell scripting 시작하고 있는데 이상해요 ㅠ

#!/bin/sh

n='expr 100+100'
echo $n

이렇게 하면 결과값은 200이 나와야하잖아요
그런데 그냥 'expr 100+100 라고 나와요.

더불어서
#!/bin/sh

now='date'
echo $now
echo "오늘은 'date'이다"

도 결과값이 오늘은 'date'이다 라고 나오네요. ㅠ 뭐가 잘못된건지 모르겠어요 ㅠ

llblurryeyes의 이미지

안녕하세요~ proC관련해서 도무지 알수없어서 질문하러 왔어요~

c++프로그램
CDBHandler_pcc 라는 PCC파일로 CDBhandler.cpp 파일을 만듭니다.

DB에 필드를 추가하고 set 함수로 추가한 필드 데이터들을 받아오려 하는데 기존에 있던 데이터들은 set으로 잘 가져오는데
새롭게 추가한 데이터들은 set으로 가져오지 않습니다. 도무지 알수가 없어서요 왜 그런지 아시는분 설명좀 부탁드립니다.

일부 소스 첨부하겠습니다.

아래는 pcc파일입니다.

페이지

프로그래밍 QnA 구독하기