2024/02 4

MQTT Protocol 의 특징 및 사용

MQTT MQTT(MQ Telemetry Transport)는 경량 메시징 프로토콜로, 네트워크에 연결된 장치들 간의 효율적인 통신을 위해 설계되었습니다. 이 프로토콜은 IoT(Internet of Things) 및 M2M(Machine-to-Machine) 통신에서 널리 사용되며, 낮은 대역폭, 제한된 네트워크 리소스, 불안정한 네트워크 연결과 같은 제약 사항을 고려하여 개발되었습니다. MQTT는 클라이언트-브로커-서버 모델을 따르며, 주로 발행-구독(pub-sub) 패턴을 사용하여 메시지를 전달합니다. 이 패턴은 여러 클라이언트가 메시지를 발행하고 해당 메시지를 구독하는 브로커를 통해 효율적으로 전달되는 것을 의미합니다. 특징 MQTT의 주요 특징은 다음과 같습니다: 경량성: MQTT는 간단하고 경량..

C# 2024.02.27

Service 생성 성능 측정

서비스의 생성 비용을 측정하는 방법은 여러 가지가 있습니다. 다음은 그중 일부입니다: 1. 시간 측정: 서비스 인스턴스를 생성하는 데 걸리는 시간을 측정합니다. 이는 System.Diagnostics.Stopwatch 클래스를 사용하여 측정할 수 있습니다. 이 방법은 서비스 생성의 CPU 시간을 측정합니다. var stopwatch = Stopwatch.StartNew(); var service = new MyService(); stopwatch.Stop(); Console.WriteLine($"Service creation took {stopwatch.ElapsedMilliseconds} ms"); 2. 프로파일러 사용: 코드 프로파일러를 사용하여 서비스 생성의 성능을 측정합니다. 프로파일러는 코드의 ..

C# 2024.02.19

VisualStudio 환경변수 설정

환경변수의 값을 읽어올 때 여러 상황에 따라 다른 환경변수 설정을 구성하고 상황에 맞춰 적절한 환경변수 값을 불러올 수 있습니다. 다음은 기본 설정과 개발상황에서 쓰는 환경설정을 구분하여 설정한 상태의 코드입니다. appsettings.json "Logging": { "LogLevel": { "Default": "Debug", "Microsoft.EntityFrameworkCore": "Warning" } }, "CardType": "CSNCard", "AllowedHosts": "*" } appsettings.Development.json { "Logging": { "LogLevel": { "Default": "Trace", "Microsoft.AspNetCore": "Trace" } } } 설정하는 ..

C# 2024.02.05

C# 자동 구현 속성, 필드, 속성

필드(Fields) 필드는 클래스나 구조체 내에서 데이터를 저장하는 데 사용됩니다. 이는 해당 클래스나 구조체의 인스턴스마다 고유한 데이터를 저장하는 데 사용됩니다. 필드는 클래스나 구조체 내에서 직접 접근할 수 있으며, 일반적으로 클래스나 구조체의 상태를 나타내는 데 사용됩니다. class MyClass { private int myField; } 위의 예제에서 myField는 MyClass 클래스의 필드입니다. 속성(Properties) 속성은 클래스나 구조체의 멤버로, 해당 클래스나 구조체의 상태를 나타내거나 조작하기 위해 사용됩니다. 일반적으로 필드에 액세스 하기 위한 메서드의 대안으로 사용되며, 데이터의 유효성 검사나 추가 로직을 쉽게 구현할 수 있습니다. class MyClass { priva..

C# 2024.02.02