널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다. 반갑습니다. ^^
강의
로드맵
전체 2수강평
- 기초 탄탄! 독하게 시작하는 Java Part 3(상) : 멀티스레드와 동기화
- 외워서 끝내는 네트워크 핵심이론 - 기초
- 외워서 끝내는 네트워크 핵심이론 - 기초
- 독하게 시작하는 C 프로그래밍
- 이해하면 인생이 바뀌는 네트워크 프로그래밍
게시글
질문&답변
파일 복사에 관한 질문입니다
한 파일에 대해 여러 스레드에서 동시에 메모리로 매핑하는 것 자체가 허용된다면 문제가 없을 것으로 생각합니다. 문제가 발생할 수 있는 범위라면 매핑 자체가 실패할 것이기 때문입니다. 물론 성공했다 하더라도 오류가 없음을 보장 할 수는 없습니다. 직접 해보고 확인해보는 것이 가장 확실하지요.그러나 저라면 인프런 AI 답변처럼 동기화를 시도할 것 같습니다. 반대로 의도적으로 데이터가 깨지도록 시도도 할 것입니다. 그래야 정확히 알 수 있으니까요.그리고 동기화를 시도할 때 크리티컬 섹션보다는 뮤텍스를 사용하는 편이 더 좋을 것 같습니다. 파일 입/출력은 메모리 입출력에 비해 매우 느린 편이기 때문입니다. 동기화 문제를 떠나 입력파일에서 데이터를 일을 때 한 번 읽었던 내용을 다시 읽을 가능성이 없다면 이를 활용해 별도의 동기화 객체 없이 동시성을 보장 할 수 있겠다는 생각도 듭니다. 참고하시기 바랍니다. 😃 더 자세한 것은 관련해 MSDN을 참고하는 것이 좋겠습니다.
- 0
- 2
- 12
질문&답변
책과 강의 질문
제공해드린 도서 PDF 파일은 참고용으로 드린 보조자료로 이해하시면 되겠습니다. 내용이 Visual C++ 2008기반 이지만 2022 버전으로 하시더라도 상관은 없습니다. 다만 IDE 화면에는 차이가 있으니 그 점은 유의하시기 바랍니다. 아울러 함께 구매하신 강의들도 꼭 보시고 좋은 결과 얻으시면 좋겠습니다. 고맙습니다. 😄
- 0
- 2
- 22
질문&답변
fgets()로 입력을 받을 때, 개행문자 \n을 없에고 받을 수 있을까요?
아쉽지만 제가 알기로는 방법이 없습니다. 에초에 지원하지 않기 때문입니다. 윈도우 환경이라면 get_s() 함수를 사용하시면 되겠습니다. 참고하시기 바랍니다. 😄
- 0
- 1
- 49
질문&답변
세마포어 예제에 대한 질문이 있습니다.
인프런 AI 답변을 참고하시면 되겠습니다. 그리고 부족한 부분을 조금 보완하겠습니다.Win32 API 이름 끝에 A, W가 붙는 경우는 MBCS인 경우과 Unicode인 경우를 나타냅니다. 즉, 문자열 처리시 char[]인지 아니면 wchar_t[] 인지에 따라 다르게 구현된 것입니다. 기능적으로는 차이가 없습니다.그리고 Ex가 붙는 경우는 기존 API 대비 기능이 추가된 것들입니다. 쉽게 생각해 '확장형'으로 이해하시면 되겠습니다. 참고하시기 바랍니다. 😄
- 0
- 2
- 12
질문&답변
강의 내용에서 궁금한 부분이 있어 질문 드립니다:)
Java의 참조자는 C언어의 포인터와 일치합니다. 같은 맥락에서 참조 타입을 요소로 갖는 배열은 각 요소가 실제 인스턴스가 아니라 참조자입니다. clone(), Arrays.copyOf(), System.arrarycopy() 메서드는 배열 인스턴스를 하나 더 만들어 값을 복사해주므로 Deep copy가 맞습니다. 그러나 참조형에 대한 배열인 경우 배열 인스턴스가 하나 더 만들어지긴 하지만 참조값 자체를 그대로 복사하므로 참조자가 가리키는 클래스 인스턴스 자체가 둘로 늘어나지는 않습니다. 그런 이유 때문에 기본형에 대한 경우와 참조형에 대한 경우는 분명 차이가 있습니다.그런데 Part 1 강의는 애초 클래스를 다루지 않습니다. 즉, 질문이 이 수업의 범위를 벗어난 것입니다. 객체 수준으로 넘어가 참조자가 등장한다면 클래스에 대한 참조자를 필드로 갖는 클래스의 깊은 복사 문제도 고민해야 합니다. 참고하시기 바랍니다. 😄
- 0
- 2
- 37
질문&답변
프로토콜 헤더 암기
아니오. 그럴 필요 없습니다. 저도 처음에는 자료를 보면서 코드를 작성했었습니다. 그러나 자주 하다보니 아예 외우게 되어 안 보는 것 뿐입니다. 😄 늘 그렇듯이 왕도가 없습니다. 때로 암기는 과정이 아니라 오랜 노력의 결과입니다. 성민님도 잘 해내실 수 있습니다. 제가 응원하겠습니다!!
- 0
- 1
- 23
질문&답변
필수 실습 문제 버블 정렬 질문
좋은 세상이네요. 인프런 AI 답변을 참고하시기 바랍니다. 😄
- 0
- 2
- 79
질문&답변
64bit CPU에서의 메모리 주소 표현
아니오. 16바이트가 맞습니다. Visual Studio 디버거 화면 상에 보이는 메모리 윈도우 화면에서 주소는 왼쪽에 0x프리픽스가 붙어 16진수로 표시되며 주소 값 자체는 10진수로 16씩 증가합니다. 그리고 '열'을 16으로 맞추고 있는데 이는 한 행에 보이는 메모리의 용량이 16바이트 임을 의미합니다. 64비트 시스템에서 메모리 주소 값 자체는 8바이트가 맞습니다. 그리고 주소는 1바이트 마다 부여해 관리됩니다. 해당 부분을 다시 보시고 한 번 더 생각해 보시기 바랍니다. 참, 이와 관련된 부분은 많은 분들이 자주 하시는 질문에 해당합니다. 감사합니다. 😄
- 0
- 2
- 57
질문&답변
MFC로 게임 엔진 제작 질문
어제 라이브 방송으로 직접 설명을 드렸으나 답글로 다시 남겨드립니다. 우선 프로젝트 생성 시 Visual Studio 스타일로 생성하시고 CDockablePane을 활용해 UI를 구성하는 방식을 공부하시면 됩니다. 그렇게 하면 CSplitterWnd 클래스를 사용할 이유가 사라집니다. 그리고 폼 화면을 스위칭하는 것 역시 CDockablePane 윈도우 사용 예제를 찾아보시면 쉽게 방법을 알 수 있습니다. 참고하시기 바랍니다. 😄
- 0
- 2
- 38
질문&답변
기초편 이후로 선행되어야하는 지식
'넓고 얕게 외워서 컴공 전공자 되기' 수업에서 다루고 있는 내용을 알고 있어야 합니다. 그리고 공유기 사용자 매뉴얼을 읽어 본다면 응용편 수업을 이해하는데 도움이 될 수 있습니다. 😄
- 0
- 1
- 43