.NET FRAMEWORK

개발💻/C#

[C#] Log #1 Log 정리

1. 용어 정리 Log : 모든 행위와 이벤트 정보를 시간 경과에 따라 기록한 데이터, 개발 프로그램의 디버깅, 예기치 못한 문제의 원인 파악, 시스템 및 사용자의 동작 패턴 분석, 비정상(해킹 등) 동작의 기록 감지, 분석을 위한 통계화 Logging : 로그를 기록하는 행위 2. Log Level Log 레벨은 아래와 같다. Level 구분 내용 0 Trace 가장 자세한 메시지를 포함하는 로그입니다. 메시지는 중요한 애플리케이션 데이터를 포함할 수 있습니다. 메시지는 기본적으로 사용하지 않도록 설정되며 프로덕션 환경에서 사용하면 안 됩니다. 1 Debug 개발 중에 대화형 조사에 사용되는 로그입니다. 해당 로그는 기본적으로 디버깅에 유용한 정보를 포함하고 장기적인 값은 포함하지 않아야 합니다. 2 ..

개발💻/C#

[C#] 배포파일 만들기 (Installer)

해당 게시글은 아래 개발환경을 사용하여 작성됨 IDE : VisualStudio 2022 Framework : .NET 7.0 Laguage : C# 11 1. Microsoft Visual Studio Installer 확장 설치 확장 → 확장 관리에서 Installer를 검색 후 Microsoft Visual Studio Installer Projects를 설치 다운로드를 클릭 후 안내문구에 따라 진행 Visual Studio를 닫으면 설치 시작 2. Setup Project 추가 Setup Project 추가 : 솔루션 우클릭 → 추가 → 새 프로젝트 클릭 Setup Project를 검색하여 추가 3. Setup 프로젝트 속성 설정 추가된 Setup Project의 속성을 설정 구분 기능 AddRe..

개발💻/C#

[C#] C#에서 C++ DLL 사용 - 마샬링 (Marshalling)

해당 게시글은 아래 개발환경을 사용하여 작성됨 IDE : VisualStudio 2022 Framework : .NET 7.0 Language : C# 11 1. 마샬링 (Marshalling) & C++ DLL 마샬링과 C++ DLL 생성에 대한 내용은 아래 게시글을 참고 [C#] 직렬화&마샬링 1. 용어 정리 Managed Code : .NET 또는 C# 컴파일러가 생성한 코드를 의미, 컴파일러는 중간 언어(Intermediate Language, IL)코드를 생성하고 CLR(Common Language Runtime) 환경에서 기계 언어 생성 Unmanaged Code : 컴파 ssvip.tistory.com [C++] 동적 라이브러리(DLL) 만들기 해당 게시글은 아래 개발환경을 사용하여 작성됨 ..

개발💻/C#

[C#] 직렬화&마샬링

1. 용어 정리 Managed Code : .NET 또는 C# 컴파일러가 생성한 코드를 의미, 컴파일러는 중간 언어(Intermediate Language, IL)코드를 생성하고 CLR(Common Language Runtime) 환경에서 기계 언어 생성 Unmanaged Code : 컴파일 할 때 IL과 같은 중간 과정 없이 기계 언어 생성 (MFC, ATL, Win32 등) MBR : Marshal By Reference MBV : Marshal By Value Byte Stream : 끊임없이 연속되는 바이트 열 2. 직렬화 (Serialization) 객체의 상태를 저장하기 위해 객체를 Byte Stream으로 변환하는 작업을 의미하며 객체에 저장된 데이터를 Stream에 쓰기 위해서 연속적(Se..

개발💻/C#

[C#] TCP 채팅 프로그램 #2 Client 구현

해당 게시글은 아래 개발환경을 사용하여 작성됨 IDE : VisualStudio 2022 Framework : .NET 7.0 Language : C# 11 ※ 이전 게시글 [C#] TCP 채팅 프로그램 #1 Server 구현 해당 게시글은 아래 개발환경을 사용하여 작성됨 IDE : VisualStudio 2022 Framework : .NET 7.0 Language : C# 11 1. TCP TCP에 대한 내용은 아래 게시글을 참고 [C#] 네트워크 통신 - TCP&UDP 1. 용어정리 소켓 (Socket) : ssvip.tistory.com 1. TCP TCP에 대한 내용은 아래 게시글을 참고 [C#] 네트워크 통신 - TCP&UDP 1. 용어정리 소켓 (Socket) : 네트워크 상에서 돌아가는 프..

개발💻/C#

[C#] TCP 채팅 프로그램 #1 Server 구현

해당 게시글은 아래 개발환경을 사용하여 작성됨 IDE : VisualStudio 2022 Framework : .NET 7.0 Language : C# 11 1. TCP TCP에 대한 내용은 아래 게시글을 참고 [C#] 네트워크 통신 - TCP&UDP 1. 용어정리 소켓 (Socket) : 네트워크 상에서 돌아가는 프로그램의 양방향 통신의 엔드 포인트 소켓통신 : 소켓을 통해 서버-클라이언트간에 데이터를 주고받는 양방향 연결 지향성 통신 TCP (Transmi ssvip.tistory.com 2. 프로젝트 생성 TCP_Server 프로젝트를 생성 프로젝트명 : TCP_Server 솔루션명 : TCP_Project 프레임워크 : .NET 7.0 3. 디자인 아래 이미지와 같이 컨트롤러들을 배치한다. 4. ..

개발💻/C#

[C#] 네트워크 통신 - TCP&UDP

1. 용어정리 소켓 (Socket) : 네트워크 상에서 돌아가는 프로그램의 양방향 통신의 엔드 포인트 소켓통신 : 소켓을 통해 서버-클라이언트간에 데이터를 주고받는 양방향 연결 지향성 통신 TCP (Transmission Control Protocol) : 서버와 클라이언트 간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜 UDP (User Datagram Protocol) : 데이터를 데이터그램 단위로 처리하는 프로토콜 데이터그램 : 패킷교환에서 각 독립적으로 취급되는 패킷 2. TCP 서버와 클라이언트 간에 데이터를 신뢰성 있게 전달하는 프로토콜 데이터 전송하기 전에 전송을 위한 연결을 만드는 연결지향 프로토콜 데이터 전송 시, 데이터 손실 및 오류발생을 교정 오류 수정, 전송 처리, 흐름 ..

개발💻/C#

[C#] ChatGPT 채팅 프로그램 만들기

해당 게시글은 아래 개발환경을 사용하여 작성됨 IDE : VisualStudio 2022 Framework : .NET 7.0 Laguage : C# 11 1. OpenAI API Key 발급 OpenAI API Key 발급 방법은 아래 게시글을 참고 RequestGPT(prompt)); // ChatCPT에 요청 string result = await task1; richTxtResult.SelectionFont = new(richTxtResult.Font, FontStyle.Bold); richTxtResult.SelectionColor = Color.Red; richTxtResult.AppendText("GPT : " + result + "\n"); } catch(Exception ex) { ric..

개발💻/C#

[C#] 비동기 프로그래밍 Async, Await

해당 게시글은 아래 개발환경을 사용하여 작성됨 IDE : VisualStudio 2022 Framework : .NET 7.0 Language : C# 11 1. 용어정리 동기 싱글 스레드 (Synchronous Single Thread) : 다수의 작업 요청이 들어왔을 때, 하나의 스레드가 요청 순서대로 처리하는 것 동기 멀티 스레드 (Synchronous Multi Thread) : 작업 요청 건수 만큼 스레드를 만들어서 처리하는 것 비동기 싱글 스레드 (Asynchronous Single Thread) : 다수의 작업 요청이 들어왔을 때, 하나의 스레드가 요청 순서와 상관없이 처리하는 것 비동기 멀티 스레드 (Asynchronous Multi Thread) : 다수의 작업 요청이 들어왔을 때, 몇개..

VIP
'.NET FRAMEWORK' 태그의 글 목록