프로그래밍 QnA

bloody의 이미지

버전 관리 용이한 클래스 디자인 소개 부탁드립니다.

버전 관리 용이한 객체지향 디자인(클래스 디자인, 디자인패턴) 소개 부탁드립니다.

현재 프로그램 버전이 0.2 라고 한다면...0.3버전을 개발할 때에는 0.2 버전의 기능들을 유지하면서
0.3 버전의 추가적인 기능이나 변경된 기능들을 사용하고 싶은데요

예를들어 파일관리하는 프로그램이라고 치고 0.2 버전에서 설계된 클래스들을 유지하면서 0.3 버전이 개발되어도
하위 버전들에서 호환성에 문제가 없도록 하고 싶습니다.

가장 전형적인 방법은 (MS가 워드 프로그램 만들때 섰던 방법이라고 하던데...)
0.2 버전으로 만들어진 클래스를 0.3버전에서 상속해서 사용하는 방법이 되겠는데요.
그러면 나중에 5.323 버전 쯤 됬을 경우는 상속이 도대체 몇번 되어져야 한다는 건가요?
몇십번 몇백번의 상속이 이루어져야 할것 같은데...그건 좀 아닌것 같고요

하위버전 호환성을 유지하면서 매끈하게 프로그램을 짤러면 클래스 디자인이 어떻게 되야 할지 궁금합니다.

marionette10의 이미지

멀티스레드

여러스레드는 값을 증가하고

한스레드는 그 값을 증가한 각각의 변수에 함수를 호출하여 그 값에 대한 결과값을 계산하여 프린트로 출력
하는 내용인데

그게 출력을 sleep2초를 주어서 하고있는데

출력을 하면 그 계산한 결과값이 2초의 시간을 두고 결과값이 출력되고 2초지나면 0으로 나오고

나왔다가 안나왔다가 반복을 하고 있습니다.

제가 스레드에 대한 개념은 알고 있지만 깊이 알지 못해서 이유를 찾지 못하고있습니다.

arrest05의 이미지

MPI 또는 SOCKET SEND RECV에 관한? 질문입니다.

안녕하세요 네트워크 관련해서 질문을 드립니다.

첫번째 질문은 컴퓨터 1, 2, 3 이렇게 세 대가 있을 때

2번의 컴퓨터에 랜카드를 2개 꼽고 1 <-> 2 , 2 <->3 이 동시적으로 데이터 전송을 하려고 합니다..

이게.. 2번 컴퓨터에서 소켓을 2개 열어놓고 각 각 통신을 하면 될거 같은데.. 궁금한점이

논블로킹 소켓으로 구현했을 경우 1번에서 연속에서 4번의 send()를 수행 했을 때, 컴퓨터 2번에서 데이터를 모두

정확하게 받을 수 있는지 궁금합니다. 논블로킹이기 때문에 어떤 패킷이 먼저 갈지 모른다 라는게... 저의 생각

입니다.. 맞는지요..? 사실 아래의 그림과 같이 병렬적으로 send recv가 동시적으로 잃어나게 하고 싶습니다..

im3901의 이미지

독자와 필자문제 제가 짠 알고리즘좀 한번 봐주세요 사진첨부합니다.

운영체제 과제 입니다. 스스로 하려고 하는중인데요

제가 생각한 알고리즘은

for문으로 reader(....)

쭉 읽어나가다가, 조건문이나 브레이크를 이용하여 중단시키는것을 베이스로 하려고 하는데요

일부러 어렵게 내 주신거라 며칠걸릴 문제라는걸 알고 있습니다. 저도 답을 바라는것은 아니고,

어떤 방향으로 나가야 할지 조언 한마디씩만 부탁드립니다!

inseck1121의 이미지

기둥이 4개, 5개인 하노이탑

기둥이 4개, 5개인 하노이탑 알고리즘좀 알려주세요....ㅠㅠ

marionette10의 이미지

pcap_open_live() PROMISCUOUSA모드

pcap_open_live() 함수에서 패킷 캡쳐할때 promiscu 모드 말고

수신된 패킷만 캡쳐할 수 있는 옵션은 없나요??

rmacnt의 이미지

jsp oracle쿼리문 질문드립니다..

public List selectList(List whereCond, Map valueMap, int startRow, int endRow)
throws Exception
{
if(valueMap == null) valueMap = Collections.EMPTY_MAP;

Connection conn = null;
PreparedStatement pstmtMessage = null;
ResultSet rsMessage = null;

try
{
StringBuffer query = new StringBuffer(200);

query.append("select * from( ");

leeanzel의 이미지

효율적인 프로그램 작성을 위해 check해야 할 것이 무엇이 있나요?

embedded level에서 OS없이 간단한 C code만을 작성해 사용하다보니
프로그램 작성에 대한 개념이 많이 사라져버렸습니다

다시 linux레벨로 올라가려 하는데 code를 작성한 후 어떤 부분을 진단해야할지
막막하네요
(예를 들어 memory leak 이라던가 쓸데없이 길어진 code 분석이라든가)

어떤 아이템들을 진단해야하고 도움이 될만한 툴은 무엇이 있을까요??

dltkddyd의 이미지

is_enum에서 __is_enum을 특수화하는 방법이 궁금합니다.

is_enum은 is_enum의 타입인수가 enum으로 명시된 타입이면 integral_constant, 즉 true_type을 상속받고, 그 타입인수가 enum으로 명시된 타입 아니면, integral_constant, 즉 false_type을 상속받습니다. 그리고 이 is_enum의 원형이 헤더에 다음과 같이 정의돼 있습니다.

template<typename _Tp>
struct is_enum: public integral_constant<bool, __is_enum(_Tp)>{ };

그렇다면 __is_enum(_Tp)라는 것이 true 또는 false라는 값으로 대체된다고 추론할 수 있습니다. 그리고 __is_enum이라는 것도 구조체일겁니다. 그렇다면 다음과 같은 식으로 정의돼 있겠죠.

victoryz12의 이미지

임베디드 OS 개발 에뮬레이터 qemu 컴파일시 오류입니다..도와주세요

안녕하세요! 날씨가.. 무척 춥군요..ㅜㅜ
감기조심하시구요!!

이만우님이 지으신 '도전! 임베디드 OS 만들기' 란 책을 보면서 나빌눅스를 만들어 보려고 합니다.
여기서 에뮬레이터 환경 구성할 때 막히는데요,

지금 사용하고 있는 건,
VMware를 이용하여 Fedora19 입니다.

일단 gcc는 3.3.2 버전으로 설치했고,
arm-linux-gcc-3.3.2 도 설치하였습니다.

이제 문제는 qemu 인데요,

설치 도중에 다음과 같은 메시지가 떴습니다.

페이지

프로그래밍 QnA 구독하기