**"채널, 매칭, 매매정보"**는 거래소 시스템 내에서의 데이터 흐름 또는 기능적 순서를 잘 설명하는 키워드들인데요, 각각의 의미와 함께 실제 발생 순서에 맞춰 설명해볼게요.


✅ 1. 채널 (Channel)

📡 데이터가 오가는 경로 또는 통신선로

  • 거래소와 증권사(또는 내부 시스템) 간의 데이터 전송 통로입니다.
  • 실시간 시세, 주문 요청, 체결 통보 등 모든 메시지는 채널을 통해 오갑니다.
  • 하나의 물리적 채널에 여러 논리 채널이 포함되어 데이터를 분류합니다.


    2. 논리적 채널 (Logical Channel)
    • 하나의 물리적 회선 내에서 구분된 데이터 흐름의 단위
    • 실시간 데이터의 유형별로 채널을 나눔
      (예: 체결 정보, 호가 정보, 지수 정보 등 각각 채널로 나눔)

예시:

채널 번호용도
100번 채널 코스피 체결 정보
101번 채널 코스닥 체결 정보
110번 채널 지수 정보
120번 채널 호가 정보


  • 1. 물리적 채널 (Physical Channel)
    • 거래소와 증권사 간에 구성된 전용 회선 또는 네트워크 연결을 말함
    • 주로 전용망, VPN, MPLS 회선 등으로 구성
    • FEP 시스템이나 RDS 송수신 시스템이 이 물리적 채널을 통해 데이터를 송수신함
    예시:
    • 채널 1: 실시간 시세(RDS) 송출용
    • 채널 2: 주문/체결 요청 전송용 (OEP, EFP 등)



 

🔹 위치상 순서:

데이터가 흘러가는 "통로"이므로 항상 처음에 존재함.


✅ 2. 매칭 (Matching)

⚖️ 주문과 주문이 만나서 체결되는 과정

  • 투자자가 주문(매수/매도)을 넣으면, 거래소의 **매칭 엔진(Matching Engine)**에서 이를 처리합니다.
  • 가격/시간 우선 원칙에 따라 상대 주문과 자동으로 매칭됩니다.
  • 매칭이 되면 체결이 발생하고, 그 결과가 다음 단계로 넘어감.

🔹 위치상 순서:

채널을 통해 주문이 들어온 뒤, 두 번째 단계에서 처리됨.


✅ 3. 매매정보 (Trade Information)

📊 매칭 결과로 생성된 체결 정보

  • 어떤 종목이 얼마에, 몇 주가, 언제 체결되었는지를 담은 정보입니다.
  • 이 정보는 거래소의 RDS 시스템 등을 통해 실시간으로 외부로 송출됩니다.
  • 또한 거래소 내부 시스템이나 정산 시스템에도 기록됩니다.

🔹 위치상 순서:

매칭이 완료된 뒤, 마지막 단계에서 생성/송출됨.


📌 전체 순서 요약

[1] 채널: 데이터가 흐르는 통로  
     ↓  
[2] 매칭: 주문이 만나서 체결됨  
     ↓  
[3] 매매정보: 체결 결과가 실시간 전송됨

 


🎯 예시 흐름

단계설명
1. 채널을 통해 주문 도착 증권사에서 거래소로 매수 주문 전송
2. 매칭 엔진에서 주문 매칭 기존 매도 주문과 가격이 일치하여 체결
3. 매매정보 생성 및 전송 체결 시각, 수량, 가격 정보가 채널을 통해 다시 전송됨

REQUEST)
windows10 제어판에서 전원및 절전에서 추가전원 설정에서 고급전원관리옵션설정에서
프로세서전원관리에서 최대프로세서 상태를 100% 에서 80%로 줄이면, 미니 데스크탑의 팬소음을 줄일수 있나요?

  1. CPU 클럭 제한
    • 최대 프로세서 상태를 80%로 설정하면 CPU가 최고 속도로 작동하지 않고, 일정 수준에서 성능이 제한됩니다.
    • 이로 인해 CPU 발열이 줄어들고, 쿨링 팬이 고속으로 작동할 필요가 적어져 팬 소음이 감소할 수 있습니다.
  2. 전력 소비 감소
    • CPU가 100% 성능을 유지하려면 더 많은 전력을 소비하고, 이에 따라 발열이 증가합니다.
    • 80%로 제한하면 전력 소비가 줄어들면서 발열도 줄고, 팬 속도가 낮아질 가능성이 큽니다.
  3. 팬 소음 감소
    • CPU 온도가 낮아지면 팬이 천천히 돌거나, 심한 경우에는 아예 작동을 멈추는 경우도 있습니다.
    • 특히, 작은 크기의 미니 데스크탑은 발열 관리가 어려워 팬이 자주 빠르게 돌지만, CPU 제한을 걸면 소음이 확실히 줄어듭니다.

🔹 주의할 점

성능 저하 가능성

  • CPU 성능이 제한되므로, 고성능이 필요한 작업(예: 게임, 영상 편집, AI 모델 실행 등)에서 속도가 느려질 수 있습니다.
  • 단순 웹서핑이나 문서 작업 등은 큰 차이가 없을 가능성이 큽니다.

노트북에서는 배터리 절약 효과도 있음

  • 노트북의 경우, 이 설정을 적용하면 배터리 사용 시간이 증가하는 장점도 있습니다.

설정 후 온도 확인 추천

  • CPU 온도가 실제로 얼마나 낮아지는지 HWMonitor 같은 프로그램으로 확인해 보면 좋습니다.


Information)


https://www.genmachinepc.com/download-ren-series/

Ren 7 Series)Ren 7 Series)Ren 7 Series)Ren 7 Series)Ren 7 Series)Ren 7 Series)Ren 7 Series)Ren 7 Series)

GenMachine AMD 라이젠 7 4800H 미니 PC - 16GB 램 + 512GB SSD, DDR4 최대, 와이파이 6(2.4Gbps), RTL8852, 일상 사용을 위한 컴팩트 데스크탑 게이밍 PC, 통합 그래픽

Ex)
GenMachine Mini PC Ren4000 4500U AMD Ryzen5 4500U GPU DDR4 3200MHz RAM WiFi6 NUC

Especially)

Driver to significantly improve fan noise issues
 
~50도이하: 1단 무소음급
~60도이하: 2단 적당히 조용한소음
60도이상~: 3단 꽤 거슬리는소음 <<여기부터 고통의 시작
80도이상~: 4단 이륙

단계였었는데 패치후에는,

~70도이하: 1단 무소음급
70도이상~: 2단 적당히 조용한소음

대부분 2단 소음까지만 남 (어쩌다 3단소음 들릴때가 간혹있음)
하지만 당연히 풍량이 매우 약해졌으므로 발열도 미쳐서 70~80도 자주넘기고 스로틀링 팍팍 걸려주심
근데 어차피 소음때문에 성능제한하고 쓸거면 그냥 패치하고 온도제한 80~85도정도 걸어두는게
성능 소음에서 모든면에서 훨씬 나아보임
참고로 젠머신보드에 AN2P 쿨러로도 테스트해봤는데 잘됨.
보드도 거의 같으니 AN2P에서도 잘될거같긴한데 해보진 않아서 장담은 못함

안에 설명 파일도 있는거 같은데 뭔가 복잡해보임
테스트결과 단순히 바이오스를 덮어씌우거나 윈도 재설치하는 것만으로는
팬속이 원래대로 복구되지 않음

주의! 이 툴은 젠머신 ren4000 5000 7000 전용임 (4500u 4700u 5625u 5700u 5600h 5800u 5800h 7530u 7730u 등)
7840hs는 해당없음.

체크썸 확인결과 ren4000 5000 7000 모두 동일한 파일

https://www.genmachinepc.com/download/tools-ren/

Tools - Ren - GenMachine
Driver to significantly improve fan noise issues

http://www.genmachinepc.com

 

다운받고 압축풀면 확장자없는 근본없는 파일이 나오는데
이게 자동압축풀림 파일이라 뒤에 .exe 확장자를 붙여주고,
C:\ 위치에 옮겨두고,
cmd 관리자나 파워쉘 관리자 권한으로 cd\로 위치로 가서 파일 실행,
그럼 알아서 투닥투닥 재부팅되고 팬속

 적용됨. 끝

 

readme.txt
0.00MB

Windows 11과 Windows 10의 차이는 주로 UI, 보안, 성능 최적화 등의 소프트웨어적인 부분이 크지만, 하드웨어 성능 및 운용 안정성에도 영향을 미칠 수 있는 몇 가지 변화가 있습니다.


Windows 11이 하드웨어에 미치는 영향 및 개선점

1️⃣ CPU 및 메모리 효율성 향상 → 전력 소비 감소 및 발열 관리 개선

  • Windows 11은 CPU 코어 스케줄링을 개선하여 작업을 더 효율적으로 배분합니다.
  • Intel 12세대 이상 (Alder Lake) 및 AMD Ryzen 5000 이상에서 효율적인 스레드 배분이 이루어져 성능과 전력 소비가 최적화됨.
  • 결과적으로 노트북에서는 배터리 수명이 늘어나고, 데스크탑에서는 발열과 소음이 줄어드는 효과를 기대할 수 있음.

📌 예시:

  • Intel의 하이브리드 아키텍처(Performance Core + Efficient Core)를 활용한 스케줄링 최적화 → 성능 코어와 효율 코어의 배분이 더 효율적으로 동작.
  • Windows 10에서는 모든 코어가 비효율적으로 동작할 가능성이 있지만, Windows 11에서는 작업을 적절히 배분하여 전력 소모가 줄고 CPU 발열이 감소함.

2️⃣ 스토리지 (SSD) 성능 향상 → 부팅 속도 및 로딩 시간 단축

  • Windows 11은 NVMe SSD 및 DirectStorage API를 적극 활용하도록 설계됨.
  • DirectStorage 기술은 CPU 부하를 줄이고 GPU가 직접 데이터를 처리할 수 있도록 지원 → 게임 및 앱 로딩 속도 대폭 향상.
  • Windows 10에서도 일부 지원되지만, Windows 11에서 최적화가 더 잘 되어 있음.

📌 예시:

  • 게임 로딩 속도 개선: DirectStorage를 지원하는 게임(예: 포르자 호라이즌 5, 마인크래프트 RTX)에서 로딩 속도가 30~40% 단축됨.
  • 부팅 속도 개선: NVMe SSD 사용 시, Windows 11에서의 부팅 속도가 Windows 10보다 평균적으로 5~10% 빠름.

3️⃣ RAM 사용 최적화 → 백그라운드 프로세스 부담 감소

  • Windows 11에서는 Foreground Performance Priority 기능이 적용됨.
  • 즉, 현재 사용 중인 앱에 더 많은 리소스를 할당하고, 백그라운드 앱은 최소한의 리소스를 사용하도록 조정됨.
  • 덕분에 RAM 사용량이 줄어들어 시스템이 보다 안정적으로 동작함.

📌 예시:

  • 동일한 8GB RAM 환경에서, Windows 10은 약 4~5GB 사용, Windows 11은 3.5~4GB로 조금 더 가벼운 동작을 보임.
  • 특히 멀티태스킹(여러 개의 창을 동시에 띄우는 작업)에서 성능이 향상됨.

4️⃣ 그래픽 성능 최적화 → 게임 및 멀티미디어 성능 개선

  • Windows 11은 AutoHDR 및 개선된 GPU 스케줄링 기능을 제공하여 게임 및 영상 재생 품질이 향상됨.
  • Windows 10에서는 HDR이 지원되지 않는 게임도 Windows 11에서는 AutoHDR로 자동 업스케일이 가능.
  • 또한, 최신 DirectX 12 Ultimate을 기본 지원하여 RTX 기능, VRS(Variable Rate Shading) 등 GPU 성능을 극대화하는 기능을 활용 가능.

📌 예시:

  • DirectX 12 Ultimate이 적용된 게임(예: Cyberpunk 2077, MS Flight Simulator)에서 프레임 향상 효과
  • Windows 10 대비 AutoHDR이 활성화된 게임에서 색감 개선 및 휘도 향상

5️⃣ 배터리 최적화 → 노트북 사용자에게 유리

  • Windows 11은 전력 관리 알고리즘을 개선하여 배터리 소모량을 줄임.
  • 배터리 수명이 최대 10~15% 증가할 수 있음.
  • CPU와 RAM, SSD 사용량이 줄어들면서 저발열 설계가 강화됨.

📌 예시:

  • 동일한 하드웨어에서 Windows 10 대비 Windows 11에서 1~2시간 배터리 수명 증가 확인됨.

하드웨어 업그레이드 없이도 Windows 11로 성능 향상을 기대할 수 있는가?

가능한 부분이 있음.

  • 최신 CPU 및 SSD를 사용할 경우 Windows 11에서 더 효율적으로 동작함.
  • DirectStorage, AutoHDR, 전력 최적화 등의 기능으로 체감 성능이 Windows 10보다 나아질 수 있음.
  • 하지만 Windows 10에서 이미 최적화가 잘 되어 있다면 체감 차이가 크지는 않을 수도 있음.

💡 결론: Windows 11이 하드웨어에 미치는 주요 영향

✔ CPU 및 전력 효율 최적화 → 발열 및 소음 감소 🚀
✔ SSD & NVMe 성능 향상 → 부팅 및 로딩 속도 개선 ⚡
✔ RAM 사용 최적화 → 시스템 안정성 향상 🖥
✔ GPU 성능 개선 → 게임 및 멀티미디어 성능 향상 🎮
✔ 배터리 최적화 → 노트북 사용 시간 증가 🔋


❓ 업그레이드 추천 여부

  • 최신 하드웨어 사용 중이라면 → Windows 11로 업그레이드하는 것이 유리함.
  • 구형 하드웨어(특히 TPM 2.0이 없는 경우) → Windows 10 유지하는 것이 좋음.
  • 게임을 자주 한다면? → DirectStorage와 AutoHDR을 활용할 수 있어 Windows 11이 유리함.
  • 노트북 사용자라면? → 배터리 절약 효과로 인해 Windows 11이 더 유용할 가능성이 높음.

💡 Windows 10에서도 만족스러운 성능이라면 급하게 Windows 11로 업그레이드할 필요는 없지만, 최신 하드웨어를 활용한다면 Windows 11이 더 나은 선택이 될 수 있음. 😊

 

실시간 데이타를 3가지의 클라이언트에서 수신받는 케이스
1. WPF(Windows Presentation Foundation)는 마이크로소프트에서 제공하는 데스크톱 GUI 프레임워크로, 윈도우 기반 응용 프로그램의 사용자 인터페이스를 표시

2. FORM
3. WEB.BROWSER

 

 

dotnet new wpf -o WinFoundReceiver dotnet new winforms -o WinFrmReceiver
 

 

Tools - Ren

Driver to significantly improve fan noise issues

 

~50도이하: 1단 무소음급
~60도이하: 2단 적당히 조용한소음
60도이상~: 3단 꽤 거슬리는소음 <<여기부터 고통의 시작
80도이상~: 4단 이륙

단계였었는데 패치후에는,

~70도이하: 1단 무소음급
70도이상~: 2단 적당히 조용한소음

대부분 2단 소음까지만 남 (어쩌다 3단소음 들릴때가 간혹있음)
하지만 당연히 풍량이 매우 약해졌으므로 발열도 미쳐서 70~80도 자주넘기고 스로틀링 팍팍 걸려주심
근데 어차피 소음때문에 성능제한하고 쓸거면 그냥 패치하고 온도제한 80~85도정도 걸어두는게
성능 소음에서 모든면에서 훨씬 나아보임
참고로 젠머신보드에 AN2P 쿨러로도 테스트해봤는데 잘됨.
보드도 거의 같으니 AN2P에서도 잘될거같긴한데 해보진 않아서 장담은 못함

안에 설명 파일도 있는거 같은데 뭔가 복잡해보임
테스트결과 단순히 바이오스를 덮어씌우거나 윈도 재설치하는 것만으로는
팬속이 원래대로 복구되지 않음

주의! 이 툴은 젠머신 ren4000 5000 7000 전용임 (4500u 4700u 5625u 5700u 5600h 5800u 5800h 7530u 7730u 등)
7840hs는 해당없음.

체크썸 확인결과 ren4000 5000 7000 모두 동일한 파일

https://www.genmachinepc.com/download/tools-ren/

 

 

다운받고 압축풀면 확장자없는 근본없는 파일이 나오는데
이게 자동압축풀림 파일이라 뒤에 .exe 확장자를 붙여주고,
C:\ 위치에 옮겨두고,
cmd 관리자나 파워쉘 관리자 권한으로 cd\로 위치로 가서 파일 실행,
그럼 알아서 투닥투닥 재부팅되고 팬속 적용됨. 끝

 

BLPOP과 BRPOP은 Redis의 blocking list operations으로, 특정 리스트에서 데이터가 들어올 때까지 기다리는 명령어입니다. 하지만 두 명령어 사이에는 중요한 차이가 있습니다.


🔹 BLPOP (Blocking Left Pop)   (우리가 원하는것)

  • 왼쪽(head)에서 요소를 꺼냅니다.
  • 데이터가 없으면 지정된 시간(초) 동안 블로킹(대기)합니다.
  • 여러 개의 리스트를 지정하면 먼저 데이터가 들어온 리스트에서 값을 꺼냅니다.

📌 사용 예제:

 
BLPOP mylist 10
  • mylist의 왼쪽(head) 에서 데이터를 가져오며, 없으면 10초 동안 대기합니다.

🔹 BRPOP (Blocking Right Pop)

  • 오른쪽(tail)에서 요소를 꺼냅니다.
  • BLPOP과 동일하게 데이터가 없으면 지정된 시간 동안 대기합니다.
  • 여러 개의 리스트를 지정하면 먼저 데이터가 들어온 리스트에서 값을 꺼냅니다.

📌 사용 예제:

 
BRPOP mylist 10
  • mylist의 오른쪽(tail) 에서 데이터를 가져오며, 없으면 10초 동안 대기합니다.

✅ BLPOP vs. BRPOP 차이 정리

명령어데이터 꺼내는 방향FIFO/LIFO
BLPOP 왼쪽(Head) FIFO (First In, First Out)
BRPOP 오른쪽(Tail) LIFO (Last In, First Out)
  • BLPOP은 큐(FIFO) 방식과 유사
  • BRPOP은 스택(LIFO) 방식과 유사

🛠 실전 예제 (Python)

Redis의 BLPOP과 BRPOP을 Python에서 실행하는 예제입니다.

BLPOP 예제 (왼쪽에서 꺼내기)

 
import redis r = redis.Redis(host='localhost', port=6379, decode_responses=True) # 리스트에 데이터 추가 (왼쪽) r.lpush("mylist", "A", "B", "C") # 리스트: ["C", "B", "A"] # 왼쪽에서 꺼내기 (Blocking) print(r.blpop("mylist", timeout=5)) # 결과: ('mylist', 'C')

BRPOP 예제 (오른쪽에서 꺼내기)

 
# 리스트에 데이터 추가 (오른쪽) r.rpush("mylist", "X", "Y", "Z") # 리스트: ["X", "Y", "Z"] # 오른쪽에서 꺼내기 (Blocking) print(r.brpop("mylist", timeout=5)) # 결과: ('mylist', 'Z')

🔥 BLPOP, BRPOP 사용 시 주의할 점

  1. 리스트가 비어 있으면 블로킹되므로, timeout을 설정하는 것이 좋습니다.
  2. 멀티 리스트 지원: 여러 개의 리스트를 지정하면 가장 먼저 데이터가 들어온 리스트에서 값을 꺼냅니다.
     
    BLPOP list1 list2 list3 10
    • list1, list2, list3 중 가장 먼저 데이터가 들어온 리스트에서 값을 꺼냄
  3. 비동기 처리: BLPOP과 BRPOP은 블로킹 호출이므로, 비동기 처리가 필요한 경우 BRPOPLPUSH나 XREADGROUP을 고려하세요.

🚀 언제 BLPOP과 BRPOP을 사용할까?

시나리오추천 명령어
작업을 순차적으로 처리하는 큐가 필요할 때 BLPOP (FIFO)
최근 들어온 데이터부터 처리할 때 BRPOP (LIFO)
작업 처리를 분산하거나, 대기 시간이 없는 즉시 응답이 필요할 때 XREADGROUP (Redis Streams 활용)

요약:

  • FIFO 방식이 필요하면 BLPOP 사용
  • LIFO 방식이 필요하면 BRPOP 사용
  • Blocking(대기) 방식으로 비동기 처리를 원할 때 유용함

자연스럽게 좌우 이동하면서 일정 시간이 지나면 블록이 아래로 이동하도록 하는 방법을 설명해드릴게요.

1. 기본 구조

  • map[20,20] 배열을 사용하여 게임 맵을 구성
  • -1을 좌우 및 하단에 배치하여 경계를 설정
  • 색깔은 1~10 범위에서 랜덤 설정
  • 일정 시간이 지나면 블록이 아래로 이동

2. 좌우 이동 및 중력 처리

(1) 타이머 사용

WinForms의 Timer 컨트롤을 활용하여 좌우 이동 및 중력 적용을 분리하여 처리할 수 있습니다.

  • 좌우 이동 → 사용자의 방향키 입력 시 즉시 실행
  • 아래 이동(중력 적용) → Timer를 이용해 일정 주기로 실행

(2) 변수 및 로직

 
private int[,] map = new int[20, 20]; // 게임 맵 private int playerX = 10; // 플레이어 위치 (초기 X 좌표) private int playerY = 0; // 플레이어 위치 (초기 Y 좌표) private Timer gravityTimer; private int gravityInterval = 1000; // 중력 적용 주기 (1초)

(3) 중력 타이머 설정

 
gravityTimer = new Timer(); gravityTimer.Interval = gravityInterval; gravityTimer.Tick += GravityMove; gravityTimer.Start();

(4) 좌우 이동 처리

 
protected override void OnKeyDown(KeyEventArgs e) { if (e.KeyCode == Keys.Left) { if (playerX > 0 && map[playerY, playerX - 1] != -1) // 왼쪽 이동 가능하면 { playerX--; Invalidate(); // 화면 다시 그리기 } } else if (e.KeyCode == Keys.Right) { if (playerX < 19 && map[playerY, playerX + 1] != -1) // 오른쪽 이동 가능하면 { playerX++; Invalidate(); } } }

(5) 중력 적용 함수

 
private void GravityMove(object sender, EventArgs e) { if (playerY < 19 && map[playerY + 1, playerX] == 0) // 아래 이동 가능하면 { playerY++; Invalidate(); } }

3. 부드러운 이동을 위한 개선

(1) 애니메이션 적용

키를 한 번 누르면 즉시 이동하는 방식보다, 누르고 있으면 연속 이동이 되도록 하면 부드러워집니다. 이를 위해 KeyDown과 KeyUp 이벤트를 함께 사용하면 됩니다.

 
private bool movingLeft = false; private bool movingRight = false; private Timer moveTimer; public Form1() { InitializeComponent(); moveTimer = new Timer(); moveTimer.Interval = 100; // 연속 이동 속도 moveTimer.Tick += MovePlayer; } protected override void OnKeyDown(KeyEventArgs e) { if (e.KeyCode == Keys.Left) { movingLeft = true; moveTimer.Start(); } else if (e.KeyCode == Keys.Right) { movingRight = true; moveTimer.Start(); } } protected override void OnKeyUp(KeyEventArgs e) { if (e.KeyCode == Keys.Left) movingLeft = false; if (e.KeyCode == Keys.Right) movingRight = false; if (!movingLeft && !movingRight) moveTimer.Stop(); } private void MovePlayer(object sender, EventArgs e) { if (movingLeft && playerX > 0 && map[playerY, playerX - 1] != -1) { playerX--; } else if (movingRight && playerX < 19 && map[playerY, playerX + 1] != -1) { playerX++; } Invalidate(); }

4. 최종 정리

✅ Timer를 사용하여 일정 시간마다 블록이 아래로 이동
✅ KeyDown 및 KeyUp을 사용하여 자연스럽게 좌우 이동
✅ moveTimer를 사용하여 키를 누르고 있을 때 부드럽게 이동

이렇게 하면 좌우 이동과 중력을 자연스럽게 적용할 수 있습니다.
추가로 블록 충돌 처리, 쌓이기 등의 기능도 필요하면 확장하면 됩니다. 

 

Form1.cs
0.00MB

'헥사' 카테고리의 다른 글

Systehttp://m.Drawing.Color[] colorindex = new Systehttp://m.Drawing.Color[]  (0) 2023.11.29
MM_DRAW()  (0) 2023.11.29
헥사 개발코드관련  (0) 2021.04.27

+ Recent posts