본문 바로가기
728x90
반응형

전체 글846

대규모 트래픽의 C++ 시스템 Java로 전환하기 https://techblog.woowahan.com/20763/ 이젠 보내줄 때가 되었다. 대규모 트래픽의 C++ 시스템 Java로 전환하기 | 우아한형제들 기술블로사용자의 배달 주소를 기반으로 어느 행정동/법정동에 속해 있는지를 판단하기 위해 기존에는 C++로 작성된 웹 서버를 사용하였습니다. 서버 한 대당 피크 시간 기준 2000TPS를 상회하는 많은 요청techblog.woowahan.com 2025. 1. 8.
공유 메모리와 세마포어를 사용하여 데이터를 동기화하고, epoll을 사용하여 이벤트를 효율적으로 처리하는 프로그램 예제 송신 프로그램//// Created by mecen on 2025-01-03.//#include #include #include #include #include #include #include #include #include #include #define SHM_KEY_BASE 0x1234#define SEM_KEY_BASE 0x5678#define SHM_SIZE 1024#define MAX_EVENTS 10union semun { int val; struct semid_ds *buf; unsigned short *array;};int main() { int sender_id; std::cout > sender_id; key_t shm_key = SHM_KEY_BASE .. 2025. 1. 2.
리눅스에서 message queue를 사용하는 프로그램을 이벤트 드리븐 방식으로 구현 리눅스에서 message queue를 사용하는 프로그램을 이벤트 드리븐 방식으로 구현할 수 있습니다. 이벤트 드리븐 방식은 자원을 효율적으로 사용하면서 message queue에 값이 들어왔을 때만 처리를 수행하도록 할 수 있어요. 이를 위해 select나 epoll 같은 시스템 콜을 사용할 수 있습니다. 이 코드는 epoll을 사용하여 message queue에 새로운 메시지가 들어왔을 때만 처리를 수행합니다. 이 방식은 메시지가 없을 때는 CPU 자원을 거의 사용하지 않으므로 성능 면에서도 유리합니다. 아래는 epoll을 사용하는 예제입니다: #include  #include  #include  #include  #include  #include  #define MSG_QUEUE_KEY 1234 #d.. 2025. 1. 2.
tnsnames.ora 없이 접속하는법 sqlplus gctrade/1234@//127.0.0.1:1521/XE tnsnames.ora 를 활용하는 방법sqlplus gctrade/1234@TRADINGDB   샘플 tnsnames.oraTRADINGDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = 127.0.0.1) (PORT = 1521) ) (CONNECT_DATA = (SERVER = dedicated) (SERVICE_NAME = XE) ) ) 2024. 12. 31.
728x90
반응형