프로그래밍 150

클래스 간의 관계 (UML)

클래스 간의 관계 (UML)UML 다이어그램에서 클래스 간의 관계는 객체 지향 프로그래밍에서 클래스들이 어떻게 연결되고 상호작용하는지를 나타냅니다.1. Association (연관 관계)표현 방식의미클래스 간의 일반적인 참조 관계를 나타냅니다.한 클래스가 다른 클래스의 인스턴스를 속성이나 필드로 가지는 경우 나타납니다.두 클래스는 독립적으로 존재할 수 있지만 서로 연결됩니다.예시 코드public class Student{ public Teacher Teacher { get; set; }}public class Teacher{ public string Name { get; set; }}관계 표시Student → Teacher설명Student 클래스는 Teacher 객체를 참조하는 속성을 가지고 ..

프로그래밍 2024.12.06

[EFCore] Entity Framework Core

Entity Framework Core란?EF Core(Entity Framework Core)는 .NET 애플리케이션에서 데이터베이스와 상호 작용하기 위한 ORM(Object-Relational Mapping) 프레임워크입니다.EF Core는 C# 같은 객체 지향 언어의 클래스를 데이터베이스 테이블과 매핑하여, SQL 쿼리를 작성하지 않고도 데이터베이스 작업을 수행할 수 있도록 도와줍니다.https://learn.microsoft.com/ko-kr/ef/core/Model이란?EF Core에서는 데이터 액세스가 모델을 통해 수행됩니다.모델은 엔터티 클래스 및 데이터베이스와의 세션을 나타내는 컨텍스트 개체로 구성됩니다.컨텍스트 개체를 사용하여 데이터를 쿼리하고 저장할 수 있습니다.마이그레이션(Migrat..

프로그래밍 2024.11.29

Hypervisor (하이퍼바이저)

하이퍼바이저란?하이퍼바이저는 프로세서, 메모리, 스토리지와 같은 컴퓨팅 리소스를 가상 머신(VM)에 재할당하는 소프트웨어입니다.이 기술을 통해 여러 VM을 생성하여 단일 물리 머신에서 실행하는 가상화가 실현될 수 있습니다. 하이퍼바이저는 각 VM에 할당된 리소스를 제공하고 물리적 리소스에 대한 VM 리소스의 스케줄링을 관리합니다.예를 들어 하이퍼바이저가 스케줄을 관리하는 동안에도 물리적 하드웨어는 여전히 실행을 수행하므로 CPU는 VM의 요청에 따라 CPU 명령을 실행합니다. 하나의 하드웨어에서 여러개의 운영 체제를 동시에 실행되고 가상화된 동일한 하드웨어 리소스를 하이퍼바이저와 공유할 수 있습니다.이것이 가상화의 주요 장점입니다. 가상화가 없으면 하나의 하드웨어에서 하나의 운영 체제만 실행할 수 있습니다.

프로그래밍 2024.11.28

[C#] CPU, DISK I/O 스트레스 테스트

CPU, DISK I/O 사용률을 최대로 사용한 상태에서 APP 테스트가 필요하여 사용하게 된 코드입니다.using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CPU_Disk_PerformanceTEST{ public class CPU_DiskPerformanceTEST { public static void Main(string[] args) { Console.WriteLine(" 1 : Use Cpu 100% \n 2 : Usage DIsk IO"); ..

프로그래밍/C# 2024.10.18

[C#] WPF Func<T>

GPT Q. private readonly IDialogView _selectDefaultRecipeDialogView; private readonly Func _selectDefaultRecipeDialogView;  차이점?1. private readonly IDialogView _selectDefaultRecipeDialogView;타입: IDialogView설명:이 선언은 IDialogView 타입의 객체를 저장하기 위한 필드입니다.선언된 필드는 하나의 IDialogView 객체를 저장하며, 해당 객체는 한 번 설정되면 바뀌지 않습니다(readonly).이 필드는 단일 객체 참조를 보유하고 있으며, 프로그램에서 특정 시점에 이 객체가 초기화됩니다(예: 생성자에서 주입).사용 예시:한 번 할당된 I..

프로그래밍/C# 2024.09.27

[Git] 용량이 큰 파일 Push하기 - LFS

오류 메시지에 따르면, chrome.dll 파일이 225.78MB로 GitHub의 파일 크기 제한인 100MB를 초과하여 푸시가 거부되었습니다.이 문제를 해결하려면 [Git LFS (Large File Storage)]를 사용하여 큰 파일을 처리해야 합니다.1. Git LFS 설치git lfs install2. 큰 파일을 Git LFS로 추적chrome.dll과 같이 100MB가 넘는 파일을 Git LFS로 추적합니다..gitattributes 파일에 이 설정이 추가됩니다.git lfs track "Project/.../ChromeBrowser/chrome-win64/chrome.dll"3. CommitLFS로 추적하도록 설정한 후, 커밋을 진행합니다..gitattributes와 함께 커밋해야합니다.gi..

프로그래밍 2024.09.05