프로그래밍 QnA

fensy의 이미지

[질문사항] UDP BroadCast로 패킷전송할때 !!

소켓통신을 하고있는데 자꾸 response가 2번씩 올라와서 wireshark로 까보니깐

제가 2번씩 쏘는현상이 있더라구요.. 분명 소스상 1번만 쏘게 되어있고 디버그 걸어가면서 단계별로 봐도 한번만 쏘는데

Broadcast 주소(ex: 192.168.2.255) 로 쏘면 2번씩 나가는 현상이 있는거 같습니다.. 혹시 1번만 쏘게 할수 있나요..? 아니면 제가 놓치고 있는 부분이 있을까요?

h2ogid의 이미지

SHELL SCRIPT 에러 확인

아래 형식의 SCRIPT 를 만드는데

에러가 나는 부분을 못찾겠습니다.

#!/bin/sh

#*
#****************EXPORT DATE******************************************
TODAY=`date +%Y%m%d`
TODAY_TIME=`date +%H`
YESTERDAY=`TZ=GMT+24 date +%Y%m%d`
HOST=`hostname`
#*********************************************************************

domiisa의 이미지

ibatis - executebatch() 함수에 대해..

안녕하십니까.

바로 본론으로 여쭤보겠습니다.

현재 로직이 대강 아래와 같습니다.

try{
 sqlmap.startbatch();
 
if(...){
 
 for(105번 반복){
 
  insert(쿼리문...);
 }
 
 if( 10개모이면 커밋 ){
  sqlmap.executebatch();
  sqlmap.commitTransaction();
 
 }
 
}
 
//나머지 커밋
sqlmap.executebatch();
sqlmap.commitTransaction();
 
}catch(){
 
}

이럴때 sqlmap.executebatch(); 여기들어간 insert문중 error문이 있으면 커밋을 못합니다.

제가 바라는건 중간에서 에러가 나더라도 에러난 구문 제외하고 모두 insert,commit 되도록 하고 싶은데

혹시 방법이 있을까요???

kukyakya의 이미지

이런 경우 어떤 라이센스를 적용해야하나요?

간단한 rtos를 제작하고 있습니다. 빌드 시스템의 경우 linux kernel의 Makefile과 kconfig 소스 코드들을 가져와 사용하고 있으며, bsd 라이센스의 라이브러리를 일부 수정하여 사용 중입니다.

프로젝트의 특성상 사용자가 작성한 코드와 정적으로 링크되게 됩니다. 본 프로젝트의 내용을 수정한 경우에는 본 프로젝트에 대한 변경 사항의 공개를 의무화하되, 사용자가 작성한 코드는 공개할 의무가 없도록 라이센스를 지정하고 싶습니다.

이러한 경우 어떠한 라이센스를 적용해야 하는지(또는 할 수 있는지)에 대해 알고 싶습니다.

yatoyato의 이미지

타겟클래스와의 동기화를 제공하는 유닛테스트 도구

안녕하세요. JUnit 유닛테스트를 진행하다가 가벼운 고민이 생겨 이렇게 질문을 드립니다.
고민은 다름 아닌 유닛테스트를 작성한 후, 타겟이 되는 클래스에 변경사항이 발생했을 때, 개발자가 어떻게 이를 놓치지 않고 테스트클래스를 업데이트해줄 수 있는가 인데요.

그래서 뭔가 테스트클래스와 타겟클래스를 동기화해주는 어떤 툴이 있지 않을까 하고 찾아봤는데...
구글 개발자센터에서 제공하는 CodePro란 툴에서 이런 동기화를 지원하기는 하더군요.
사실 조금 무겁기도 하고, 몇몇 부분에 대해서는 여의치 않기도 하고...

그래서 혹시 다른 가벼운 툴이나 라이브러리가 있지 않을까해서 질문을 올립니다.
동기화까지는 아니더라도 간단한 경고메시지를 콘솔에 띄울 수 있을 정도면 편리할 것 같습니다.
"테스트되지 않은 새로운 클래스/메서드가 발견"되었다거나, "테스트 메서드와 타겟 메서드의 이름이 일치하지 않는다"거나 하는 수준의 출력이면 괜찮을 것 같은데, 혹시 잘 쓰고계신 툴이 있으신가요?

oblab의 이미지

임베디드 보드에 usb 디바이스 노드 파일이 생성되지 않는데 어떻게 해야 하나요?

보드에 usb를 연결하면 usb 장치 인식을 하게 되는데요
커맨드 명령으로 lsusb를 입력하면 연결한 usb목록이 나옵니다
(Bus 001 device 005: ID 0781:5530) <---연결한 usb

해당 디바이스 노드파일을 확인하기 위해

/dev/bus/usb/001 경로에서 목록을 확인해봤는데요
005에 대한 파일은 생성되지 않더라구요

디바이스 노드파일이 생성되어야 통신을 하던 무엇이든 할것 같은데

연결한 usb의 디바이스노드파일을 생성시키려면 어떻게 해야 하나요?
임의로 mknod를 하면되는건지..
우분투에서는 usb연결/해제 할때 자동으로 해당 노드파일이 생성 삭제 되던데
임베디드 보드에서는 어떻게 해야 하나요?

z0172982의 이미지

384k 에 접근할 방법이 없는가요??


리눅스에서

640kb 말고 384k 안 내용엔 비디오 바이오스를

읽어오려 합니다.

DOS에서는 포인터로 읽기 가능한데 리눅스에선 세그먼테이션 폴트 뜨네요..

읽을수 있는 방법이 없을까요??

qnfw3174의 이미지

.

trymp의 이미지

지금 deadlock 때문에 미치겠어요 도와주세요...ㅠ.ㅠ


제가 간단한 프록시 데몬을 만들어서 thread 별로 작업을 분할했습니다. (linux 환경)

A(패킷수신) -> 작업전달 -> B(내용분석) -> 작업전달 -> C(원래목적지로 전달)

대략적으로 이런식인데요, 멀티쓰래드이기에 쓰래드간에 공유영역에 대해

mutex 를 걸었습니다. critical구간도 굉장히 짧고요 (pthread_mutex_lock,pthread_mutex_unlock)

그래서 잘 도는데, 한 2 ~ 3일 돌리다보면 데드락에 빠집니다.

소스코드 뚤어져라 봐도 코드상 문제점은 잘 안보입니다.

그렇게까지 복잡한 코드도 아니고요 그래서 strace 보니 아래와 같습니다.

[pid 5391] futex(0x2ee00db8, FUTEX_WAIT, 2, NULL
[pid 5393] futex(0x80d7414, FUTEX_WAIT, 2, NULL
[pid 5394] futex(0x80d743c, FUTEX_WAIT, 2, NULL

솔직히 감이 잘 안오고요

페이지

프로그래밍 QnA 구독하기