반응형
반응형
노트북에 리눅스를 설치하고 oracle database를 설치하고 전원을 켜뒀는데 다음날 확인하니 절전모드에 빠진 상태로 원격 접속이 안됩니다. 이번 포스팅에서는 리눅스 절전 모드 방지 설정을 알아보겠습니다. 1. 노트북 덮개 동작 무시 노트북을 서버로 사용하기 위해서는 24시간 전원을 켜두어야 하는데 설치 후 기본 상태로 두거나 덮개를 만지면 절전 모드로 진입하게 됩니다. 아래와 같이 설정 파일을 수정 후 데몬을 재기동합니다. # logind.conf 파일을 오픈 vi /etc/systemd/logind.conf # 아래 두 옵션의 주석을 해제하고 아래와 같이 ignore 설정 HandleLidSwitch=ignore HandleLidSwitchDocked=ignore #파일 저장 후 데몬 재시작 sy..
이전 포스팅에서 IOCP 서버 스켈레톤 코드를 작성해 보았습니다. 이번 포스팅에서는 IOCP 서버를 위한 스레드풀 초기화 코드를 살펴보겠습니다. 1. IOCP 서버 실행 결과 실행결과 먼저 살펴보겠습니다. 실행환경은 8 코어 16 스레드 CPU입니다. IOCP Worker Thread 16개, IOCP RIL Thread 16개씩 생성하였고 동시실행 가능 스레드 수는 각 8개씩 설정하였습니다. 스레드는 실행중 I/O 나 기타 사유로 Pending 상태에 빠질 수 있기 때문에 동시 실행 가능한 숫자보다 많은 수의 스레드를 생성하여 스레드풀에 등록해 둡니다. 2. 초기화 코드 호출 구조 및 예제 코드 RilInit 함수에서 서버를 초기화합니다. 작업 스레드풀을 생성하고 작업 스레드들을 대기시킵니다. 송신 스..
윈도 환경에서 다중 클라이언트의 접속을 처리하는 네트워크 서버를 구현하기 위해서는 IOCP 사용이 필수라고 생각합니다. 에코 서버를 IOCP 기반으로 구현한 예제는 많지만 실제 현업에서 다중 클라이언트 접속을 처리하기 위한 아키텍처를 어떤 방식으로 접근하면 좋을지 고민해 보는 차원에서 IOCP 기반 다중 접속 처리 및 데이터 처리 프로토타입 구상을 위해 이번 포스팅을 작성합니다. 1. 리눅스 epoll 대비 IOCP(I/O Completion Port) 장점 대부분의 유명한 게임서버는 Windows Server 기반이라는 사실을 알고 계신가요? 그 이유는 리눅스에서 다중 접속을 처리하기 위해 사용가능한 epoll 보다 Windows의 IOCP가 더 나은 장점이 있기 때문입니다. 윈도 표준 API로 윈도 ..
윈도에서 네트워크 어댑터가 두 개 이상 활성화되어 있으면 우선순위가 자동으로 설정되는데요. 그 우선순위에 따라 인터넷이 잘 될 수도 있고 안될 수도 있습니다. 이번 포스팅에서는 그 우선순위를 점검하고 수정하는 방법을 알아보겠습니다. 제 컴퓨터의 네트워크 어댑터 현황을 예를 들어서 설명하겠습니다. 저는 무선랜을 사용하여 외부 인터넷을 사용하고 있는데 유선랜을 유선공유기와 연결하여 다른 장치와 사설망으로 통신을 하려고 합니다. 그런데 웹브라우저로 인터넷을 시도하면 무선랜으로 패킷이 나가는 게 아니라 인터넷이 불가능한 유선공유기 쪽으로 인터넷연결 시도가 먼저 이루어졌다가 타임아웃이 발생하면 무선랜으로 시도하여 답답함을 느껴서 네트워크 어댑터의 라우팅 테이블을 점검하고 우선순위를 변경하기로 하였습니다. 1. 두..
회사에서 직원별 휴가 시작일과 종료일을 관리하는 엑셀을 작성했다고 가정합니다. 원본 데이터를 하나의 워크시트에 취합했는데 겹치는 날짜가 있는데 찾기가 어렵습니다. VBA를 활용하여 간단하게 중복되는 날짜를 검출해 보겠습니다. 1. 예제 데이터 시트 아래의 예제 데이터 시트를 보면 소속사, 성명, 시작일, 종료일이 있습니다. 같은 배경색의 행끼리 날짜가 중복되고 있음을 확인할 수 있습니다. 이런 행이 수천 행이 존재한다면? 눈으로 검증할 생각을 하면 생각만 해도 퇴사 마렵습니다. 2. VBA 매크로 파일 만들기 아래의 그림과 같이 매크로 파일을 하나 만들어 줍니다. 매크로 파일을 만드는 자세한 방법은 이전 포스팅을 참조하세요. 2023.12.01 - [프로그래밍/Excel VBA] - [VBA] 엑셀 VB..
스레드 간 동기화를 위해서는 락 메커니즘을 활용합니다. 락을 획득한 상태에서 예외가 발생하면 락을 반환해야 하는데 예외 케이스가 다양할 경우 각 예외 구문마다 락 반환코드를 넣는 것은 번거롭습니다. 이번 포스팅에서는 지역변수의 스코프 내 유효 특성을 이용하여 함수 종료 시 획득한 락도 자동으로 반환되는 일명 Autolock class에 대해 예제기반으로 설명합니다. 1. 커널모드, 유저모드 락은 크게 커널모드 동작방식, 유저모드 동작방식으로 구분되며 커널모드의 대표적인 락은 뮤텍스이며 중첩락을 허용하는 특징이 있습니다. 유저모드의 대표적인 락은 크리티컬섹션입니다. 현업에서 뮤텍스, 크리티컬섹션의 사용 사례를 다양하게 접했지만 뮤텍스의 중첩을 활용하는 경우는 거의 보지 못하였습니다. 또한 Lock/Unlo..