반응형

Program/C# 12

C# 프로젝트 Error 정리

프로젝트를 베이스부터 만들던 도중 나오는 에러들에 대해서 해당 글에 정리한다. 1. OpencvSharp 로드 에러System.TypeInitializationException: 'The type initializer for 'OpenCvSharp.Internal.NativeMethods' threw an exception.'DllNotFoundException: Unable to load DLL 'OpenCvSharpExtern' or one of its dependencies: 지정된 모듈을 찾을 수 없습니다. (0x8007007E)  현재 위와같은 에러가 발생하였는데 구글 서칭과 클러드에게 물어보니 아래와같은 답변이 돌아왔다.Any CPU는 프로그램이 32비트(x86)와 64비트(x64) 환경 모두..

Program/C# 2025.01.08

C# netDxf 라이브러리 (1)

오늘은 C#의 Nuget 패키지 중 하나인 netDxf 라이브러리에 대해 알아보려 합니다.기존 프로젝트에서 dwg 도면을 읽어와야하는게 메인이기 때문에 가장 많이 사용하는 라이브러리 중 하나이기도 합니다. 우선 netDxf 라이브러리에 대한 목차입니다.netDxf 라이브러리 시작하기netDxf란?라이브러리 소개주요 특징기본 사용법NuGet 패키지 설치DXF 파일 생성하기DXF 파일 읽기실전 활용기존 도면에 도형 추가하기 (선, 원, 폴리라인)레이어 관리기존 도면에 도형 추가하기  텍스트 추가하기   netDxf란?netDxf는 AutoCAD DXF 파일을 읽고 쓸 수 있게 해주는 오픈소스 .NET 라이브러리입니다. 이 라이브러리를 사용하면 복잡한 DXF 파일 포맷을 이해하지 않아도 손쉽게 CAD 파일을 ..

Program/C# 2024.12.16

C# 유닛(단위)테스트(2)

기존 프로젝트에서 유닛 테스트 추가하기앞서 유닛(단위)테스트(1)에서는 유닛 테스트 작성 방법에 대해 알아보았습니다.https://opencv-master.tistory.com/190 C# 유닛(단위)테스트(1)오늘은 C#에서의 유닛(단위) 테스트에 대해 알아보려 합니다. C#에서 유닛(단위) 테스트란?유닛 테스트(Unit Test)는 프로그램의 작은 조각(주로 클래스나 메서드)이 올바르게 작동하는지 검증하는opencv-master.tistory.com 이번에는 이미 존재하는 프로젝트에 유닛 테스트를 추가하는 방법을 단계별로 살펴보겠습니다.기존 프로젝트에서 유닛 테스트를 작성하려면 테스트 프로젝트를 새로 생성하여 기존 프로젝트를 참조하는 방식으로 진행하는 것이 가장 좋은 방법입니다.왜 테스트 프로젝트를 ..

Program/C# 2024.12.09

C# 유닛(단위)테스트(1)

오늘은 C#에서의 유닛(단위) 테스트에 대해 알아보려 합니다. C#에서 유닛(단위) 테스트란?유닛 테스트(Unit Test)는 프로그램의 작은 조각(주로 클래스나 메서드)이 올바르게 작동하는지 검증하는 과정입니다. "유닛(Unit)"은 프로그램의 가장 작은 독립 실행 단위를 의미합니다.쉽게 말해, 코드가 우리가 기대한 대로 동작하는지 자동으로 확인하는 테스트입니다.  유닛 테스트의 종류수동 테스트사람이 직접 입력 값을 넣고 결과를 확인하는 방식.단점: 반복 작업이 많아 시간이 오래 걸림.자동화 테스트테스트 코드를 작성하여 자동으로 테스트를 수행.장점: 반복적으로 실행 가능하고, 실수 확률이 적음.  C#에서 유닛 테스트의 방식C#에서는 주로 다음과 같은 유닛 테스트 프레임워크를 사용합니다.MSTestMi..

Program/C# 2024.12.09

C# 디스크I/O

오늘은 언어에 국한되는 특별한 기능은 아니지만 디스크 I/O에 대해서 구체적으로 알아보고자 합니다. 디스크 I/O란?디스크 I/O (Input / Output)은 컴퓨터 시스템에서 가장 기본적이면서도 중요한 개념입니다.간단히 설명하자면 컴퓨터의 메인 메모리(RAM)와 보조 저장장치 (하드디스크, SSD 등) 사이에서 데이터를 읽고(read)쓰는 (write) 모든 작업 (물리적 동작)을 의미합니다.주요 예시를 살펴보자면1. 하드디스크의 경우 - 실제로 원판(플래터)이 분당 7200번 정도 회전합니다 - 디스크 헤드가 물리적으로 움직여서 데이터가 있는 위치로 이동합니다. - 헤드가 디스크 표면을 읽어서 전기 신호로 변환합니다.2. SSD의 경우 - 전기 신호를 통해 NAND 플래시 메모리 셀에 접근합니다...

Program/C# 2024.12.07

C# _ Interface

오늘은 c#에 있는 Interface 키워드에 대해서  대해서 알고보고자 합니다. 목차인터페이스란?인터페이스의 기본 개념클래스와 인터페이스의 차이점인터페이스 구현하기기본 구현방법다중 인터페이스 구현 예시인터페이스 구현 시 주의사항실무에서 자주 사용되는 인터페이스 패턴의존성주입(DI)에서의 활용Repository 패턴 예시전략 패턴 구현하기C# 8.0 이후의 인터페이스 새로운 기능기본 구현 메서드정적 메서드프라이빗 메서드  인터페이스란? 인터페이스 기본 개념인터페이스는 조금 추상적으로 느껴질 수 있지만, 실제로는 매우 실용적인 개념입니다.쉽게 말해서 인터페이스는 '이런 기능은 반드시 있어야 해!' 라고 정의해놓은 설계도와 같습니다. 기본적인 인터페이스 코드를 한번 보겠습니다. public interface..

Program/C# 2024.11.24

C# 병렬처리3 _ Mutex

이번에 오늘은 c#에 있는 병렬처리중 쓰레드 경합방지를 위한 Mutex 에 대해서 알고보고자 합니다.다른 경합방지를 위한 방법 중 lock 키워드, Mointor 클래스에 대해 궁금하신 분들은 아래 링크를 먼저 봐주세요https://opencv-master.tistory.com/177 C# 병렬처리2 _ lock오늘은 c#에 있는 병렬처리중 쓰레드 경합방지를 위한 Lock에 대해서 알고보고자 합니다. Lock 키워드lock은 object 키워드와 함께 사용되는데간단하게 말하면 현재 1번 쓰레드가 사용하고있으면 2번opencv-master.tistory.com https://opencv-master.tistory.com/178 C# 병렬처리2 _ Monitor오늘은 c#에 있는 병렬처리중 쓰레드 경합방지를..

Program/C# 2024.11.23

C# 병렬처리2 _ Monitor

오늘은 c#에 있는 병렬처리중 쓰레드 경합방지를 위한 Monitor에 대해서 알고보고자 합니다.다른 경합방지를 위한 방법 중 lock 키워드에 대해 궁금하신 분들은 아래 링크를 먼저 봐주세요https://opencv-master.tistory.com/177 C# 병렬처리2 _ lock오늘은 c#에 있는 병렬처리중 쓰레드 경합방지를 위한 Lock에 대해서 알고보고자 합니다. Lock 키워드lock은 object 키워드와 함께 사용되는데간단하게 말하면 현재 1번 쓰레드가 사용하고있으면 2번opencv-master.tistory.com  Monitor 클래스Monitor 클래스는 lock 키워드보다 좀 더 섬세한 작업이 가능한데, Enter와 Exit 메서드를 통해 다른 쓰레드들이 언제부터 언제까지 대기해야 ..

Program/C# 2024.11.22

C# 병렬처리1 _ lock

오늘은 c#에 있는 병렬처리중 쓰레드 경합방지를 위한 Lock에 대해서 알고보고자 합니다. Lock 키워드lock은 object 키워드와 함께 사용되는데간단하게 말하면 현재 1번 쓰레드가 사용하고있으면 2번,3번,4번 등등의 다른쓰레드에서는 접근할 수 없도록키워드 그대로 lock을 걸어버리는 것입니다.- Lock이라는 키워드는 가장 단순하게 그리고 직관적으로 사용할 수 있는 키워드입니다.- Lock 블록을 빠져나올 때 자동으로 Lock이 해제되기 때문에 사용하기 정말 편하죠.- 예외가 발생하더라도 안전하게 잠금이 해제됩니다. 사용 방법에 대한 예시를 한번 보겠습니다.예를들어 여러명이 한개의 통장에 돈을 넣는 상황을 가정해보겠습니다. 첫번째로 lock 키워드 없이 여러명이 한번에 병렬로 잔액을 넣게되는 메..

Program/C# 2024.11.20

C# Bitmap

오늘은 C#의 Bitmap에 대해서 알아보고자 합니다.Bitmap은 C/C++ 에서도 있는 개념입니다.C/C++에서 Bitmap은 구조체로 구현이 되어있고 데이터와 이를 다루는 함수가 분리되어 있습니다.그에 반해 C#에서 Bitmap은 클래스로 구현이 되어있고 데이터와 매서드가 클래스에 캡슐화 되어 있습니다.  C#에서 Bitmap클래스는 ( 위 이미지에서는 메서드만 나와있지만 )데이터인 Width, Hieght, PixelFormat(픽셀형식) , HorizontalResolution, VerticalResolution, Flags, Palette 등의 데이터도직접 접근할 수 있도록 캡슐화 되어 있습니다.그에 반해 C / C++에서의 Bitmap은 windows Gdi ( Graphic Device I..

Program/C# 2024.11.18
반응형