반응형

프로그래밍 40

Windows 10 Microsoft Compatibility Telemetry 비활성화 가이드

Microsoft Compatibility Telemetry(호환성 원격 분석)는 Windows 10 시스템의 성능과 사용 데이터를 Microsoft로 전송하는 서비스입니다. 이 서비스는 때때로 시스템 리소스를 많이 사용할 수 있으며, 개인정보 보호 측면에서 비활성화하고자 하는 사용자가 많습니다. 방법 1: 작업 스케줄러를 통한 비활성화작업 스케줄러 열기Windows 키 + R을 눌러 실행 창을 엽니다taskschd.msc를 입력하고 Enter 키를 누릅니다원격 분석 작업 찾기왼쪽 패널에서 다음 경로로 이동합니다: 작업 스케줄러 라이브러리 > Microsoft > Windows > Application Experience오른쪽 패널에서 "Microsoft Compatibility Appraiser" 작업..

C# KD-tree 를 이용하여 벡터 데이터베이스를 구현하는 방법

C#으로 개발을 하다 보면 벡터 데이터를 효율적으로 다뤄야 할 때가 종종 있다. 특히 AI나 머신러닝 작업에서 벡터 데이터베이스는 빠른 검색과 유사도 계산의 핵심인데, 여기서 KD-tree가 빛을 발한다. KD-tree는 다차원 데이터를 구조화해서 빠르게 탐색할 수 있게 해주는 자료구조로, C#으로 구현하면 꽤 실용적인 결과물을 얻을 수 있다. 이번 글에서는 C#으로 KD-tree를 활용해 벡터 데이터베이스를 만드는 방법을 단계별로 풀어보려 한다. 코딩에 관심 있는 분들이라면 따라 하며 이해하기 좋을 테니, 한 번 읽어보자. KD-tree가 뭔데?KD-tree는 K차원 트리(K-Dimensional Tree)의 줄임말로, 다차원 공간에서 데이터를 계층적으로 분할해 저장하는 이진 트리다. 예를 들어 2D ..

프로그래밍 2025.03.14

[IA] Gitea service in Windows

윈도우에서 Gitea 서비스 설치 및 설정 가이드Gitea를 설치하기 전에 다음을 준비하세요:운영 체제: Windows 10, Windows Server 2012 이상 (64비트 권장).필수 소프트웨어:Git for Windows (최신 버전): https://git-scm.com/download/win텍스트 편집기 (예: Notepad++, VS Code 등).하드웨어 요구 사항: 최소 2 CPU 코어, 1GB RAM (소규모 팀 기준, 더 큰 규모라면 확장 필요).네트워크: 로컬 네트워크 또는 외부 액세스를 위한 포트 열기 준비 (기본 포트: 3000).관리자 권한: 명령 프롬프트 또는 PowerShell을 관리자 모드로 실행할 수 있어야 합니다.1. Gitea 다운로드 및 설치1.1 Gitea 실행..

[IA] inotify in HP UNIX

HP-UX에서 리눅스의 inotify와 유사한 기능을 제공하는 네이티브 C API는 존재하지 않습니다. HP-UX는 POSIX 표준을 따르는 유닉스 시스템이지만, inotify는 리눅스 커널에 특화된 기능으로, HP-UX에는 직접적인 대체재가 없습니다. 대신, HP-UX에서 파일 시스템 이벤트를 모니터링하려면 다음과 같은 대안을 사용할 수 있습니다:** polling 방식 (주기적 파일 확인)**: 파일의 수정 시간을 주기적으로 확인하는 방식입니다. HP-UX에서 stat() 함수를 사용하여 파일의 타임스탬프를 체크할 수 있습니다.HP-UX audit 시스템: HP-UX는 파일 시스템 이벤트를 추적하기 위한 auditing 기능을 제공합니다. 하지만 이는 시스템 수준 설정이 필요하며, inotify처럼 ..

[IA] C# Word automation 테이블 병합 셀의 개수 파악

개요Word 문서에서 테이블의 특정 셀이 병합되었는지 확인하고, 병합된 경우 병합된 행과 열의 수를 계산하려면 다음 단계를 따릅니다:Word 문서를 열고 특정 테이블을 선택합니다.확인하고자 하는 셀을 지정합니다.셀이 병합되었는지 확인합니다.병합된 경우, 병합 범위를 분석하여 행과 열의 수를 계산합니다.using System;using Word = Microsoft.Office.Interop.Word;public class WordAutomation{ public void GetMergedCellInfo(string filePath, int tableIndex, int rowIndex, int columnIndex) { // Word 애플리케이션 인스턴스 생성 Word...

[IA] Simple Interpreter in C99

구현 환경언어: C99라이브러리: cJSON (단일 헤더 파일 기반 경량 JSON 파서)의존성: libxml2 사용 불가, cJSON만 사용cJSON는 GitHub에서 다운로드 가능하며, 프로젝트에 cJSON.h와 cJSON.c를 포함해야 합니다.#include #include #include #include #include "cJSON.h"// 데이터 타입 정의typedef enum { TYPE_STRING, TYPE_NUMBER, TYPE_BOOL} DataType;// 값 구조체typedef struct { DataType type; union { char* string; double number; int boolean; } va..

IOCP를 이용한 OVERLAPPED 사용시 ErrorCode(6) 관련

IOCP OVERLAPPED사용할 경우 랜덤적으로 WSARecv 또는 WSASend 동작시 Error Code 6 일 발생하는 경우가 있다. 이것은 Overlapped 구조체의 hEvent 변수를 초기화하지 않고 사용해서 발생하는 것으로 해당 변수를 NULL 로 초기화해서 사용할 경우 발생하지 않는다. 아래의 경우에는 내가 사용했던 경우이다. 나중에 혹시 다시 발생하면 참고할 수 있도록 하자. class CROverlapped : public OVERLAPPED, public CRObject { public: E_TYPE_OVERLLAPED eType; std::shared_ptr m_ClntInfo; CROverlapped() { m_ClntInfo = nullptr; hEve..

MFC 에서 마우스 클릭을 비활성화 하는 방법

MFC에서 마우스 클릭 비활성화하는 방법 void CExmaplDlg::OnDisableMouseButton() { CRect rect; GetWindowRect(rect); ClipCursor(&rect); ShowCursor(FALSE); ::SetCapture(m_hWnd); } void CExampleDlg::OnEnableMouse() { ShowCursor(TRUE); ClipCursor(NULL); ::ReleaseCapture(); } 보통 마우스를 비활성화시켰을 경우 Ctrl + Alt + Del 키를 이용하여 다시 동작 가능하도록 한다. 특정 동작이나 수행하는 동안 마우스 입력을 제한해야 할 경우 사용하면 될 듯 싶다.

[C++] 스마트포인터 weak_ptr [정보공유의 장]

C++ 스마트 포인터 weak_ptr 금일 정리해볼 내용은 스마트 포인터 중 weak_ptr 관련된 내용이다. shared_ptr 은 자신이 참조하고 있는 메모리에 대해 참조 카운터를 증감시킴으로써 객체의 수명을 관리하도록 되어 있었다. 하지만 weak_ptr 은 shared_ptr 의 참조 카운팅에 포함되지 않는다. shared_ptr 의 소유 포인터를 참조만할 뿐 참조 카운터에는 영향을 주지 않는 것이다. 내부적으로 shared_ptr 을 더 보게 되면 참조 카운터를 관리하는 변수가 두 개로 나뉘어져 있으며 strong reference count 와 weak reference count 이다. shared_ptr 끼리의 참조는 strong reference count 가 증가되며 weak_ptr 에..

[C++] 스마트포인터 unique_ptr [정보공유의 장]

C++ 스마트 포인터(Smart pointer) unique_ptr 이번 포스팅 정리는 스마트 포인터 중 unique_ptr 에 대해서 정리해 보자. unique_ptr 은 소유하는 포인터에 대해 다음과 같은 규칙을 갖는다. 1. 소유 포인터는 한 개의 객체만이 소유할 수 있다. 2. 원래 포인터의 소유권을 이동시키는 것은 가능하지만 복사나 대입은 불가능하다. 3. unique_ptr 객체가 소멸될 때 소유 포인터의 메모리도 해제된다. 우선 unique_ptr 을 생성하는 문법적인 요소를 알아보도록 하자. #include #include using namespace std; int main() { unique_ptr p1(new int(2)); unique_ptr p2 = make_unique(2); r..

반응형