프로그래밍 QnA + 설치 및 활용 QnA + 질문

tngkr2019의 이미지

공유 메모리(shared memory)를 사용한 프로세스간 통신 관련해 질문 드립니다.

유닉스 운영체제에서 공유 메모리를 사용해 프로세스간 통신을 구현하던 도중 몇 날 며칠을 고민해도 도저히 해결이 안되는 문제가 있어 이렇게 질문 드리게 되었습니다.
현재 유닉스 환경에서 하나의 서버 프로세스와 두개의 클라이언트 프로세스(편의상 클라이언트1, 클라이언트2라고 하겠습니다)가 존재하고 서버 프로세스는 두 번의 fork() 함수 호출을 통해 두 개의 자식 프로세스(편의상 자식 프로세스1, 자식 프로세스2라고 하겠습니다)를 생성합니다.
자식 프로세스 1은 클라이언트1과 공유 메모리를 통해 통신하고, 자식 프로세스 2는 클라이언트2와 공유 메모리를 통해 통신하며 이 두 개의 공유 메모리는 서로 다른 키값을 지정하여 <자식 프로세스1, 클라이언트1>과 <자식 프로세스2, 클라이언트2>는 서로 다른 공유 메모리를 통해 통신하는 상황입니다. 더불어 클라이언트와 자식 프로세스 간에 공유 메모리의 접근을 동기화하기 위해 서로 다른 이름의 Named 세마포어 2개를 사용하고 있습니다.

rlatjddus234의 이미지

makefile 질문이요!

제가 학교 과제때문에 makefile을 이용해서 컴파일을 해야하는데 윈도우에서 vcpkg로 pdcurses를 설치하여 curses.h를 이용해 프로그래밍을 진행 중이었습니다

근데 makefile에서 링크를 아무리 제가 vcpkg/package/pdcurses/lib 에 정확히 라이브러리를 연결한거 같은데 자꾸 undefined reference가 발생하네요 vcpkg로 설치한 라이브러리는 혹시 위치가 다른가요??

익명 사용자의 이미지

iptables ssh 공격 질문입니다.

$IPTABLES -N blacklist
$IPTABLES -N ssh
$IPTABLES -A INPUT -m state --state NEW -p tcp --dport 22 -j ssh
$IPTABLES -A blacklist -m recent --set --name blacklist
$IPTABLES -A blacklist -j REJECT
$IPTABLES -A ssh -m recent --update --seconds 600 --hitcount 1 --name blacklist -j REJECT
$IPTABLES -A ssh -m recent --set --name ssh
$IPTABLES -A ssh -m recent --update --seconds 20 --hitcount 5 --name ssh -j blacklist
$IPTABLES -A ssh -j ACCEPT

위 명령은 ssh 공격을 막기 위해서 인터넷에서 확인해서 넣은 iptable 구문입니다.

trymp의 이미지

구조체에 padding 안 붙여도 되지 않나요?


구조체에 padding 붙이는 이유가(네트워크 제외) 메모리 접근횟수를 줄이기 위한 것으로 알고 있는데

연속된 경우, 컴파일러가 어차피 기본적으로 align 을 해주기때문에 개발자가 padding 맴버를

구조체에 추가하지 않아도 되지 않나요?

평소에 생각하지 않다가 문든 생각이 들어 질무드립니다.

hemosu의 이미지

vim lookbehind \@<= 에서 이해하기 어려운 코드가 있어요

빔의 정규식에서 \@<=는 펄의 (?<=)과 거의 같습니다.
아래는 \@<=의 용법을 보여주는 테스트코드 가운데 하나인데요.
call search('\(<\_[xy]\+\)\@3<=start') 의 \@3<=start에서 3이 왜 들어간 건지 모르겠습니다.

lalupo20의 이미지

usb에 리눅스 설치하기 질문드립니다.

현재 128g짜리 usb에 데비안12를 설치했습니다.

usb를 끼면 실행할 os를 선택하는 화면이 나오구요

usb를 빼면 grub> 요 프롬프트?가 뜹니다. exit 입력해주면 윈도우로 부팅되구요.

현재 이런 상황인데

오늘 사무실 와서 다른 놋북에 usb 연결해보니 그럽메뉴 안뜨고 그냥 윈도우로 부팅되네요.

바이오스 설정에서 부팅 우선순위 바꾸는 화면에서 해당 usb가 안잡히구요.

무엇이 문제라 다른 피씨에서 부팅이 안되는지 알 수 있을까요?

developerTUNA의 이미지

하나의 static library를 여러번 사용하는 경우

안녕하세요.

하나의 Base 라이브러리를 서로 다른 라이브러리에서 정적으로 링크해서 사용중입니다.
문제는 이러한 라이브러리들이 뭉쳤을때, 각자의 라이브러리 내의 Base 라이브러리를 참조하는 것이 아니라, 링크 순서에 따라서 참조하는 라이브러리가 다릅니다.
원하는 건 자기자신의 Base 라이브러리를 참조하고 싶은데, 어떻게 해야될지 잘 모르겠습니다.
검색어라도 알면 찾아볼텐데 검색어도 잘 모르겠습니다.

설명이 어려워서 이미지를 첨부합니다.

현재 함수 호출

MidFunc에서 main에서 포함한 BaseFunc를 호출해버린다...

원하는 함수 호출

MidFunc에서는 자신의 BaseFunc를 호출하고,
main 에서는 자신의 BaseFunc를 호출한다.

간단 테스트 코드입니다.

lalupo20의 이미지

리눅스 가벼운거 usb에 설치하면

컴퓨터 바꿔가며 쓸 수 있나요?

그리고 혹시 그렇게 된다면 설치할만한 가벼운 리눅스 좀 추천 부탁드립니다.

감사합니다.

trymp의 이미지

SSL handshake 시에 서버가 보내는 인증서의 형식은 어떤건가요?


SSL handshake 를 할때 서버가 자신의 인증서를 클라이언트에 보내주자나요

이때 인증서 그대로 der format 으로 클라이언트에게 보내주나요?

아니면 다른 형식으로 인코딩을 하나요?

궁금해서 질문드립니다.

페이지

프로그래밍 QnA + 설치 및 활용 QnA + 질문 구독하기