Programming 265

인공지능(AI)/ 가우시안 분포

# 가우시안(Gaussian) 확률론적인 용어로, 다양한 자연 현상에서 관측되는 데이터 분포를 모델링하는 데 사용되는 중요한 개념 중 하나입니다. 가우시안 분포는 종 모양의 분포를 가지며, 평균과 표준 편차로 특징 지어집니다. 간단히 말하면, 가우시안 분포는 데이터가 평균 주변에 모여있고, 표준 편차가 작을수록 데이터가 더 집중되어 있음을 나타냅니다. 이것은 통계 분석, 머신 러닝, 신호 처리 등 다양한 분야에서 사용됩니다. 가우시안 분포를 시각적으로 이해하려면, 종 모양의 그래프가 중심에서 높고, 중심에서 멀어질수록 낮아지는 분포를 상상하실 수 있습니다. 데이터 포인트가 평균 주변에 있을 확률이 높으며, 평균에서 멀어질수록 확률이 감소합니다. 이것은 많은 자연 현상을 설명하는 데 유용한 모델 중 하나입..

C#/ MSSQL에 DB(.sql) 설치 프로그래밍

# MS-SQL server 접근하기 //MS-SQL server Edition class DataAccess { // Use for EmployeeMgt.exe.config file .\SQLEXPRESS static string _ConnectionString = 프로젝트명.Properties.Settings.Default.설정값; // static string _ConnectionString = "Data Source=(local);Initial Catalog=프로젝트명; User ID=sa;Password=sapass123!"; //"Data Source= (local)/ DB IP address or .\\SQLEXPRESS ; //Initial Catalog= Database Name; //U..

C#/ Crypto 암호화

# 해시 암호화(MD5, SHA256, SHA384, SHA512) 예시 코드 * 암호화 개념 관련은 https://esoog.tistory.com/entry/%EC%95%94%ED%98%B8%ED%99%94Encryption 암호화(Encryption) # 해시 암호화와 AES(Advanced Encryption Standard) 암호화 1. **용도**: - **해시 암호화**: 주로 데이터 무결성 검증을 위해 사용됩니다. 동일한 입력에 대해 항상 동일한 고정 길이 해시 값을 생성하며, 주 esoog.tistory.com public class Hash { public enum HashType { MD5, SHA256, SHA384, SHA512 } /// /// MD5 암호화 /// /// 암호화 ..

C#/ [STAThread]

# [STAThread] C# 애플리케이션에서 스레드 모델을 지정하는 데 사용되는 특성 중 하나입니다. 이 특성은 주로 Windows Forms 및 COM(컴포넌트 객체 모델)과 관련된 애플리케이션에서 사용됩니다. '[ ]' 이런 형태를 애트리뷰트라고 하는데, 애트리뷰트는 코드에 메타데이터를 제공하여 컴파일러, 런타임 라이브러리, 또는 다른 도구에게 정보를 전달하는 데 사용합니다. [STAThread] 특성은 "Single-Threaded Apartment"의 약자인 "STA"를 나타냅니다. STA 모델은 Windows Forms 및 COM과 같은 사용자 인터페이스 기반 애플리케이션에서 일반적으로 사용됩니다. STA 모델에서는 단일 스레드가 사용자 인터페이스 처리 및 상호 작용을 담당하며, 다른 스레드에..

C#/ 어셈블리(Assembly) 사용

# 어셈블리(Assembly) .NET Framework 또는 .NET Core와 같은 Microsoft의 관리 코드 환경에서 사용되는 단위 컴파일된 코드 패키지입니다. 어셈블리는 하나 이상의 클래스, 인터페이스, 구조체, 열거형 및 리소스와 같은 코드와 관련된 메타데이터를 포함하고 있습니다. 어셈블리는 .NET 애플리케이션의 기본 빌딩 블록 중 하나로서 다음과 같은 주요 특징을 가지고 있습니다: 1. **단위 컴파일**: C# 코드는 컴파일되어 어셈블리로 패키징됩니다. 이러한 어셈블리는 컴파일된 IL(Intermediate Language) 코드와 메타데이터로 이루어져 있습니다. 2. **버전 관리**: 어셈블리에는 버전 번호가 있으며, 이를 통해 다른 어셈블리들과의 호환성을 관리할 수 있습니다. 새로..

C#/ KeyDown 이벤트 핸들러

키보드 키를 사용하여 프로그래밍 제어를 위해 KeyDown에 이벤트 핸들러를 설정해서 사용하고자 할 때, Control 의 ProcessCmdKey 를 오버라이딩 하면 이벤트를 다룰 수 있다. 예시: protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (keyData == (Keys.Shift | Keys.C)) // Shift + C { btnPayment.PerformClick(); } else if (keyData == (Keys.Control | Keys.Enter)) // Ctrl+Enter { btnPrintDirect.PerformClick(); } else if (keyData == (Keys.Shift | K..

C#/ namsespace(네임스페이스)

# 네임스페이스(Namespace) C# 프로그래밍 언어에서 사용되는 개념으로, 코드를 구조화하고 그룹화하는 데 사용됩니다. 네임스페이스는 코드의 모듈화 및 이름 충돌을 방지하는 데 도움이 되며, 다음과 같은 몇 가지 중요한 특징이 있습니다: 1. **그룹화 및 구조화**: 네임스페이스를 사용하면 클래스, 인터페이스, 열거형 및 함수와 같은 프로그램 요소를 그룹화하고 조직화할 수 있습니다. 이를 통해 코드 기반의 모듈화와 계층 구조를 작성할 수 있습니다. 2. **이름 공간의 격리**: 네임스페이스는 코드 요소의 이름을 격리하여 이름 충돌을 방지합니다. 예를 들어, 동일한 이름의 클래스나 함수가 서로 다른 네임스페이스 내에 있으면, 충돌하지 않고 동시에 사용할 수 있습니다. 3. **.NET 클래스 라이..