IOMMU VT-d AMD-Vi C++ IOMMU / VT-d / AMD-Vi 활성 여부를 C++로 감지하기 (Linux & Windows) DMA(Direct Memory Access) 기반 위협에 대응하려면 IOMMU(= VT-d / AMD-Vi) 활성 여부를 신뢰성 있게 확인할 수 있어야 합니다. 이 글은 운영체제별로 C++ 코드만으로 IOMMU 활성 신호를 감지하는 가장 실용적인 방법을 정리합니다. 목차 TL;DR 왜 감지해야 할까? Linux: sysfs 기반 확실한 감지 Windows: WMI(DeviceGuard)로 DMA 보호 신호 확인 ..
🖥️ 모니터 용어 종합 정리: 해상도, 패널, 밝기, 주사율분류용어단위/해상도주요 설명 및 특징해상도 (Resolution) - 픽셀 개수해상도HD$1280 \times 720$High Definition. 과거의 표준 해상도.해상도FHD$1920 \times 1080$ (2K 일반)Full High Definition. 현재 가장 널리 사용되는 대중적인 해상도.해상도QHD$2560 \times 1440$ (2.5K/2K)Quad High Definition. FHD 대비 약 1.8배 선명함.해상도UHD$3840 \times 2160$ (4K)Ultra High Definition. FHD의 4배 픽셀. 현재 고화질 표준.해상도8K$7680 \times 4320$4K의 4배 픽셀. 차세대 고화질 해상도..
C++ 동적 할당 원칙: new vs. malloc - 객체 지향 언어에서 충돌을 피하는 방법🚨 **핵심 규칙:** STD 라이브러리를 사용하거나 C++ Class 객체를 생성할 때는 반드시 malloc이 아닌 new를 사용해야 합니다!C++ 언어에서 메모리 동적 할당을 할 때 가장 중요한 규칙은 할당하려는 대상이 C++ 객체(클래스/구조체)인지, 단순한 메모리 영역인지에 따라 방법이 달라진다는 것입니다.---1. C++ 객체 (클래스/STD 컨테이너)는 new를 사용해야 합니다!std::list, std::vector, std::string과 같은 STD 라이브러리 컨테이너와, 사용자 정의 class 또는 멤버 함수를 가진 struct는 복잡한 객체입니다. 이들은 메모리가 할당된 후 생성자가 호출되어..
C++에서 반드시 피해야 할 함정: 댕글링 레퍼런스 C++ 프로그래머라면 누구나 한 번쯤 겪게 되는 골치 아픈 문제, 바로 댕글링 레퍼런스(Dangling Reference)입니다. 레퍼런스를 반환하는 함수를 잘못 작성했을 때 발생하는 이 현상은 프로그램 크래시의 주범이 되기도 합니다. 왜 이런 일이 벌어지는지, 어떻게 해결해야 하는지 함께 알아봅시다. 1. 문제의 핵심: 댕글링 레퍼런스란? 👻 댕글링 레퍼런스(Dangling Reference)는 '매달려 있는' 또는 '허공을 가리키는' 참조를 뜻합니다. 참조(Reference)는 이미 존재하는 객체의 별명인데, 원본 객체가 사라지고 없는데도 별명만 남아있는 상태를 말합니다. 이런 참조를 사용하면 프로그램이 잘못된 메모리 영역을 건드리..
C 언어 vs C++: `struct`와 `typedef`의 차이점 완벽 정리 C 언어를 공부하다 보면 struct MyStruct와 typedef struct MyStruct라는 두 가지 형태의 구조체 선언을 자주 보게 됩니다. 겉보기에는 비슷해 보이지만, 둘 사이에는 명확한 차이점이 있습니다. 이 글에서는 두 방식의 차이점을 쉽게 알아보고, 왜 C에서는 typedef가, C++에서는 전자가 더 많이 사용되는지 알려드릴게요. `struct`만 사용한 구조체 선언 이 코드는 MyStruct라는 이름의 구조체 태그(tag)를 정의합니다. 여기서 MyStruct는 구조체의 별명이 아니라, struct 키워드와 함께 사용해야 하는 진짜 이름입니다. 마치 '과일'이라는 카테..
1. root 계정 권한 확인먼저, 현재 root 계정의 권한을 확인해야 합니다. 터미널에서 MariaDB에 로그인한 후 다음 명령어를 실행해 보세요.SQLSELECT user, host FROM mysql.user WHERE user = 'root'; 방법 1: UPDATE 및 FLUSH PRIVILEGES 사용이 방법은 기존 root 계정의 host 값을 직접 변경하고, 권한을 새로고침하는 방식입니다.SQL UPDATE mysql.user SET host = '%' WHERE user = 'root';FLUSH PRIVILEGES;FLUSH PRIVILEGES 명령어는 권한 테이블의 변경 내용을 즉시 적용하는 데 필수적입니다. 이 명령어를 실행하지 않으면 변경 사항이 반영되지 않을 수 있습니다.방법 ..
- Total
- Today
- Yesterday
- C# 고급 기술
- 윈도우
- 현포다이브
- 서귀포블루버블
- OpenSource
- Windows
- C
- DLL
- 블루버블다이브팀
- 블루버블다이빙팀
- 서귀포
- 울릉도
- ReFS
- Build
- ip
- Thread
- C#
- 암호화
- PowerShell
- 스쿠버다이빙
- 다이빙
- 패턴
- 블루버블
- 리눅스
- Linux
- 디자인패턴
- 양파다이브
- 성산블루버블
- 제주도
- C++
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
