프로그래밍 QnA

psw9255439의 이미지

AIO를 사용한 서버 구성시 메모리 에러

리눅스의 Posix AIO를 사용하여 간단한 서버를 만들어보았습니다.
클라이언트가 접속을 요청하면 aiocb 구조체를 동적할당하며 aio_read()함수를 호출하는 방식입니다.
그런데 동적 할당 후 aio_read()함수 실행 시 invalid argument에러를 출력합니다.
원인을 찾아보던 중 동적할당한 aiocb 구조체의 메모리를 해제한 것이 문제였습니다.
delete를 통해 메모리를 해제하는 부분을 주석처리하고 해제하는 메모리를 출력하도록 하였더니
정상동작하는 것을 확인했습니다.
delete를 통해 수동으로 메모리 해제 시 왜 문제가 발생하는지 궁금합니다.

서버 소스입니다.
/* Header */
#include
#include
#include
#include
#include
// AIO Header
#include
#include
// Custom Header
#include "header/Decl.h"

익명 사용자의 이미지

C++ 예외처리 버그 발생

(파일 분리한 게 많아서 일단 관련된 파일들만 요약해서 올리겠습니다.)

1. 일단 예외 클래스 구조는 다음과 같습니다.

Exception 클래스를 기초 클래스로 하고 WithdrawException 클래스와 InvalidException 클래스를 유도 클래스로 선언했습니다.

*WithdrawException 클래스 : 예금된 금액보다 더 많이 출금액을 설정한 경우
*InvalidException 클래스 : 입금, 출금 상황에서 마이너스를 금액으로 설정한 경우

2. model이 되는 클래스는 다음과 같습니다.

Member 클래스(어떤 이자율도 갖지 않는 기본 클래스를 말합니다.) 이를 상속하는 NormalMember 클래스(이자율을 설정할 수 있습니다.) 또 이것을 한번 더 상속한 HighCreditMember 클래스(신용등급을 설정해서 기본 이자율과 합산합니다.) 정리하면 3단으로 되어있는 형태입니다. 예외가 발생하면 예외를 핸들러 클래스에게 던집니다.

cwk1412의 이미지

java directBuffer size 관련하여 질문합니다.

java 에서 DirectBuffer를 사용하려고 allocateDirect 함수를 사용하여

ByteBuffer를 할당해주려고 합니다.

그런데 큰 사이즈(64MB 이상?)는 할당이 안되는 것 같던데

ByteBuffer size 를 GB 단위로 할당하는 것이 가능할까요? 방법이 있을까요?

인터넷 검색을 해보니 jvm 에 memory limit이 있어 (MaxDirectMemorySize) 설정해주려하는데

GB 단위까지 설정해줘 보신분 계신가요???

얕은 지식에 귀찮은 것 까지 질문을 작성하는 것 같아 죄송스럽습니다 ㅠㅠ

eoen2eoen의 이미지

LCD 한글 출력용 폰트 제너레이터 가지고 계시는분 있나요?

ttf 파일을 C 배열로 제너레이팅 하고 싶은데
아무리 구글링을 해도 나오질않네요..

그나마 하나 찾은건 2009년도 프로그램이라 모든 한글이 변환되지도 않네요;;

ㅠㅠ 혹시 사용하고 계시는분 있나요?

phsft의 이미지

쉘스크립트 문의

쉘스크립트를 거의 해본적이 없는데 아래 요구 사항을 구현 할 상황이 생겨 이렇게 문의 드립니다. 도움 주시면 정말 감사하겠습니다. 꾸벅

1. a.txt b.txt ....등등 여러 파일에
To: 메일아이디@naver.com
포멧으로 메일이 어딘가에 적혀 있습니다.

2. list.txt 파일에는
seoul|메일아이디
busan|메일아이디
.....

이런식으로 메일아이디에 대한 지역이 나타나 있습니다.

3. mail.sh 파일을 이용하여 1번의 a.txt b.txt 등의 파일에서 메일아이디만 추출하고 추출된 메일아아디를 가지고 2번의 list.txt파일에서 해당 메일아이디의 지역을 추출해서(seoul, busan...) 지역명의 디렉토리를 만들고
해당 파일을(a.txt b.txt...) 이동(mv)시켜 각 파일들을 메일아이디의 지역에 맞게 이동시키고 싶습니다.

nalbwa의 이미지

TCP에서 multiple write와 read

프로세스 1이 write함수 호출이 3번 나오고
프로세스 2가 프로세스1이 write한 버퍼를 read함수 1번 호출로 받는다고 했을때

read가 어디까지의 버퍼를 받을지는 네트워크의 상황에 따라 다를 수 있는건가요?

제가 알기론 write가 read에 완전히 보낼때까지 read하는쪽이 ACK을 기다리고 있다가 다 전송받으면 ACK을 write했던 프로세스에게 보내는거로 아는데
write 3번호출이

write()
write()
sleep(1)
write()

이런식으로 이루어지면 read가 첫번째 2개 write만 받아내고 ACK을 보내서 3번째 write는 받지 못하는것인지 궁금합니다

oxoxx의 이미지

전문가처럼 공부하고 싶습니다.

저는 인문계로 대학에 들어왔지만, 컴퓨터 공학을 이중전공을 하면서 프로그래밍을 시작했습니다.
컴공과 수업으로는 2학년 수준(객체지향, 회로설계, 자료구조, 이산구조)의 수업들까지 들었습니다.
이번 여름방학동안 안드로이드를 배우면서 직접 음악 재생 앱을 만들어 봤고, 이 앱을 교수님께 조언을 받기 위해 보여드렸습니다.

교수님께서 해주신 말씀은 아래와 같았습니다.
"왜 안드로이드 앱을 코틀린이 아니라 자바로 선택했지?"
"자바 타입에 대한 이해가 부족한 것 같다. char 배열을 사용해야 할 곳에 String을 사용하고 있다."
"해당 레이아웃을 왜 쓰는지 모르는 것 같다. 콘스트레인이 과연 완벽한 레이아웃일까? 행 사이의 병합이 필요하면 반드시 그리드를 사용해야할까?"

페이지

프로그래밍 QnA 구독하기