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

GRu의 이미지

Monolithic Architecture와 SOA의 차이점

안녕하세요 KLDP가입하고나서 적는 첫게시글이네요.

제목과 같이 Monolithic ArchitectureService Oriented Architecture의 차이가 궁금합니다.

보통 두개를 비교할때 Monolithic은 business logic이 덩어리처럼 존재한다고 하고, soa는 각 서비스가 모듈화되어서 재사용성을 높일 수 있다라고 합니다.

그런데 객체지향 프로그래밍이나 디자인패턴을 보면 하나의 함수는 하나의 책임만 갖게 하고 함수간 디펜던시를 낮춰 재사용성을 늘리는것을 지향한다고 배웠습니다.

질문 :
1. Monolithic Architecture는 객체지향프로그래밍이 아닌건가요?
2. 두 구조의 정확한 차이가 궁금합니다.

1234cha의 이미지

리눅스 배포판에 대한 질문

KLDP회원님들 2020년 새해 복 많이 받으세요.

리눅스에 대해 다시 관심을 갖게 된지 얼마 안되었는데요,

최근 보안이 중요한 일을 하게 되어 테일즈 OS를 USB스틱에 담아 쓰고 있습니다. 문서도 리브레를 통해서 잘 사용중인데요...

계속 USB를 써서 작업을 하다 보니 불안하여, 새로 랩톱을 구매하여 거기에 리눅스 배포판을 새로 설치하려고 합니다.

테일즈같이 보안에 특화된 배포판이 있을까요? 혹 알고 계시다면 알려주시면 감사하겠습니다.

긴 글 읽어주셔서 감사합니다.

phi의 이미지

특정 상황에서 cpu사용량이 비정상적으로 상승합니다.

현재 아치리눅스와 i3gaps를 사용하고 있습니다.
super키와 오른쪽 마우스 버튼을 이용해서 창 크기를 조절 할 수 있는데
이럴때마다 이상하게 컴퓨터 본체쪽에서 소음이 납니다.
그래서 gtop으로 확인을 해보니
이 행동을 할 때 마다 cpu사용량이 급증합니다.(100%가 되는 코어도 있습니다.)
이때 cpu점유율이 상승한 프로세스는
/usr/lib/Xorg :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
입니다.

이 외에도 floating으로 사용중이 창의 위치를 옮긴다던가
kolourpaint를 사용한다던가 할 때
동일한 증상(소음, cpu사용량 상승)이 발생합니다.

redrow99의 이미지

에뮬레이터 공부 질문

안녕하세요

c언어랑 자료구조 알고리즘 정도 알고있는 초보인데요..

독학이구요..ㅠㅠ

제가근데 xmame 같은 에뮬레이터 게임구동해주는 프로그램을 만드는쪽으로

공부해보고싶은데 뭘 공부해야할지 물어볼 아는사람도없고 모르겠어서..

뭘공부해야할지 조언점 부탁드려도 될까요 답변부탁드려요

parkyh8618의 이미지

함수 내 지역변수의 생존 여부에 관해 질문드립니다.


vector<string> convert(string s, int n)
{
    vector<string> v;
    for(int i = 0 ; i <s.length() ; i+=n)
    {
        v.push_back(s.substr(i,n));
    }
    return v;
}

에서 vector v를 반환하는데 함수 밖에서 v를 쓸수가 있나요?
함수가 끝나면 v는 함수 내 지역변수니까 함수 밖에선 없어져야 하는 거 아닌가요?

함수 밖에서 쓰려면 vector를 함수 인자로 받아서 써야 될거 같은데 저렇게 써봐도 작동이 되서 질문드립니다!

dao_3651의 이미지

fork/exec 이후 deadlock

C 데몬 중에서 system 함수를 사용 하여 스크립트를 수행 하는 프로세스가 있습니다.

그런데, socket등이 상속 되어 이슈가 되어서 다음과 같은 순서로 변경 하였습니다.
fork --> 자원 해제 --> exec (child)
`--> waitpid (parent)

그런데 이렇게 하니 드물게 child side 에서 deadlock이 발생 하네요.

익명 사용자의 이미지

gnome + VNC로 로그인 할 때 환경변수가 적용되게 하고 싶습니다

foo라는 GUI 프로그램이 있습니다. 이 시스템은 클라우드 위에 있어서 local에 연결된 모니터, 키보드 등은 없습니다. 원격으론 오직 VNC를 연결해서 gnome GUI 메뉴에서 아이콘을 골라 클릭하면 실행됩니다.

foo 프로그램을 실행할 때, E라는 환경변수를 E="/usr/bin/java"로 셋팅해서 실행하고 싶습니다. 터미널에서라면 아래와 같이 하고 싶습니다.

$ export E="/usr/bin/java" 
$ foo &

해당 export 라인을 .bashrc나 /etc/profile.d/foo.sh 같은 곳에 넣어도 gnome + VNC 세션에 로그인했을 때는 적용이 되지 않는 것처럼 보입니다. 터미널을 열고 echo $E를 해보면 그때는 /usr/bin/java로 셋팅이 되어 있구요. 레드햇 계열의 배포판입니다.

kimgarchi@GitHub의 이미지

캐시 지역성에 관한 의문

캐시 적중도는
시간 지역성(얼마나 자주 쓰는가)과 공간 지역성(주변것들이 연관이 되어있는거 같은가)으로 구분됩니다.

뭐 이거는 다들 알고들 아는 사실이신데...

의문이 드는 사항은 다음과 같습니다.

컨테이너에 다량의 변수가 투입되어져 있을 경우,

1번 컨테이너 : 해당 변수들이 스택에 저장되어져 있는 컨테이너
2번 컨테이너 : 해당 변수들이 힙에 저장되어져 있는 컨테이너 (포인터 변수)

로 우선 구분을 지었었습니다.

다만 스택오버 플로때문에 변수 개별의 크기 (혹은 갯수)를 무지막지하게 늘릴수없어서,
행위 자체만을 늘려서 테스트를 수행하였습니다.

테스트의 방식은 다음과 같았습니다.

디버깅모드로 작업, 릴리즈는 단순연산을 최적화로 무마시켜버려 동작이 수행되지않아 배제하였습니다.

1번과 2번 컨테이너를 각각 미리 준비
단순 연산을 통해 작업을 수행

페이지

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