Windows IOCP 이용해서 서버 만들기 - 1

예전에 소켓을 만들 때 비동기 처리(?)를 select() 함수를 이용해서 처리했었는데, 이 함수를 사용한 서버는 많은 동시 접속자 및 고성능에는 적합하지 않다고 해서 다른 방법을 찾아보기로 했습니다. Blocking 이 있으면 모두 동기식입니다. 왜 적합하지 않을까❓ FD_SET 비효율적인 사용 select() 호출 때마다 파일 디스크립터 배열을 다시 세팅해서 전달 polling 방식 select() 함수 내부에서는 파일 디스크립터를 순회하며 감지함 접속한 클라이언트가 많아질수록 성능이 떨어짐 파일 디스크립터 최대 개수 허용하는 최대 개수가 1024개 따라서 고성능 서버에서는 사용되지 않는다....

2025년 10월 25일 · 4 min · 816 words · JongBin

CORS 오류 원인 및 해결 방법

💡 Quotation 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 브라우저가 자신의 출처가 아닌 다른 어떤 출처(도메인, 스킴 혹은 포트)로부터 자원을 로딩하는 것을 허용하도록 서버가 허가 해주는 HTTP 헤더 기반 메커니즘입니다. - MDN WebGL 프로젝트 개발 중 CORS 오류가 저를 너무 힘들게 해서 그 과정과 해결 방법을 공유하려고 글을 쓰게 되었습니다. 😭 우선 왜 이런 오류가 발생하는지 원인부터 제대로 알아보도록 하겠습니다. 원인 ✅ 자신의 출처가 아닌 다른 어떤 출처(도메인, 스킴 혹은 포트)로부터 자원을 로딩...

2024년 12월 27일 · 2 min · 342 words · JongBin

메일 서버 구축하기

도메인이 있어서 무엇을 할 수 있을까 고민하다가 나만의 메일 서버가 있었으면 좋겠다는 생각이 들어 메일 서버 구축에 들어갔습니다. 메일 서버를 구축할 때 사용되는 프로그램은 postfix, opendkim, policyd-spf 그리고 dovecot입니다. postfix 💡 Tips : Postfix 는 전자우편의 경로를 지정하고 전달하는 자유 오픈 소스 메일 전송 에이전트이다. wikipedia 이메일은 SMTP1) 프로토콜을 사용하여 메일 서버끼리 메일을 주고받습니다. Install ⚙️ 대부분의 리눅스 배포판에 패키지 관리자가 있습니다. 이를 이용하여 설치하면 쉽고 간단하게 설치할 수 있습니다. 설치 패키지는 아래와 같습니다....

2023년 04월 29일 · 7 min · 1377 words · JongBin

이기종 데이터베이스 DB Link 연동하기

이기종 간 데이터를 주고받는 경우 보통의 경우라면 REST1)와 같이 중간에 API2)를 만들어 통신합니다. 하지만 서로 다른 호스트의 데이터베이스를 직접 연결하여 통신하는 경우도 있는데 이때 DB Link라는 것을 사용하여 직접 다른 데이터베이스를 액세스할 수 있습니다. DB Link 💡 Tips : A database link is a connection between two physical database servers that allows a client to access them as one logical database. A database link connection is one-way in the sense that a client connected to local database A can use a link stored in database A to access information in remote database B, but users connected to database B cannot use the same link to access data in database A....

2023년 04월 29일 · 3 min · 502 words · JongBin