inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

독하게 C를 배운 사람을 위한 선형 자료구조

adtFileIO 예제코드관련 질문 있습니다.

해결된 질문

169

blood731

작성한 질문수 6

0

코드를 분석하다 드는 의문점이 있어 질문드립니다.

  1. 실제 자료노드와 이를 추상화 한 MYNODE로 데이터베이스가 구축되어 있는데 여기에 MYNODE를 기준으로 파일 입출력을 연동시킨 것이 이번 예제의 핵심이라고 보입니다. 이렇게 한 이유가 파일의 일부를 메모리로 옮겨올 수 있기 때문(캐싱)이라고 하셨는데 이 캐싱의 정확한 개념이 궁금합니다. 해당 예제의 offset변수를 보면 파일의 처음부터 끝까지 모든 자료에 대하여 카운트정보를 담고 있는 것으로 보입니다. 즉 파일의 일부가 아닌 전부가 MYNODE기준 메모리상 데이터에 연동되고 이 후 선택노드의 추가 데이터만 메모리상데이터에 추가되는 것으로 보이는데 캐싱이라는 개념이 파일데이터들의 일부만 메모리에 옮기는 것이 아니라 일단 모든 목록(인덱스)를 올린 후 선택 노드의 데이터만 추가하는 개념인 것인지. 아니면 원래는 파일데이터의 목록까지도 일부만 올리는 개념인데 예제에서는 간략화하여 설명된 것인지 궁금합니다.

  2. SaveNewDataToFile()함수를 살펴보면 pTmp->bNew 불리언 변수가 true일 때 파일쓰기가 일어나는데 이는 기존 데이터가 존재하는 노드인 경우 데이터를 수정시 파일쓰기가 되지 않는 오류가 있지 않나 생각됩니다. 즉 commit이 노드데이터 수정 후 일어나지 않으면 프로그램 종료시 호출되는 SaveNewDataToFile()함수로는 수정데이터의 파일출력이 일어나지 않는 것 아닌가 하는 의문이 듭니다.

     

두 째 질문은 강의 중에 언급해 주신 부분을 확인했습니다. 감사합니다.

 

감사합니다.

c 코딩-테스트 알고리즘 vc++

답변 1

1

널널한 개발자

캐싱은 별것 아닙니다. 자주 참조될 것으로 예상하는 데이터를 빠른 입/출력이 가능한 메모리 영역에 위치시켜 성능을 개선하기 위한 방법입니다. 파일 입/출력은 보조 기억장치를 활용하는 방법이며 주기억장치에 비해 보조 기억장치의 입/출력 속도는 비교할 수준이 아닙니다. 그리고 캐싱을 구현하기 위해 자료 + 각종 구조를 모두 메모리에 올려야 하겠습니다. 이는 구현의 문제입니다. 정답으로 정해진 것이 없다 하겠습니다.

참고하시기 바랍니다. 😄

1

blood731

감사합니다.

05_adtFileIO 개정이력에 대한 질문

0

41

2

마지막 열의 노드를 삭제하였을때 읽기 엑세스 위반 발생 건

0

60

2

첫번째 루프에서 최소값을 못찾았는데 계속 진행하는 이유가 무엇인가요?

0

46

1

[질문]: [섹션4] -> [2중 연결 리스트로 전환] -> [21:30]

0

129

2

인덱스정렬 강의, 04_ListAndIndex질문드립니다.

0

125

1

예제는 어디서 다운로드 받을 수 있나요?

0

178

2

04_MultiIndex 예제에서 질문이 있습니다

0

120

1

헤드노드에 관해..

0

230

3

AddNewNode 함수 구현시 질문입니다.

0

160

2

Event Loop

0

191

1

인덱스정렬 강의, 04_ListAndIndex질문드립니다.

0

191

1

CPU의 다른 이름 Machine 강의 질의

0

272

4

스택의 POP코드 질문드립니다.

0

259

1

ADT강의 관련 질문 있습니다.

0

231

2

RangeSearch002 의 singlelist.c 파일 중 질문 있습니다.

0

191

1

섹션4 자료 자체와 정렬된 인덱스 분리 내용 질문

0

252

2

자료 자체와 정렬된 인덱스 분리 강의에서 질문

0

234

2

구현 연습에 대한 개인적 의문

0

279

1

05_adtFileIO 프로젝트 문의

0

317

2

CLI UI적용 강의에서 질문드립니다.

0

332

1

SearchToRemove와 RemoveNode가 분리되어야 할 필요가 있을까요?

0

293

1

05_adtFileIO 프로젝트 문의

0

256

1

자료 자체와 정렬된 인덱스 분리 (인덱스 정렬) - 인덱스 범위 코드에 버그가 있어서 질문 드립니다.

0

304

2

강의자료 관련

0

203

1