전체 글 242

클래스 간의 관계 (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

ERD (Entity-Relationship Diagram)

ERDER모델은(Entity-Relationship Model)을 기반으로 데이터베이스의 논리적 구조를 표현하기 위한 도구ERD(Entity-Relationship Diagram)는 데이터베이스의 개체와 관계를 보여주는 다이어그램이다.ERD ElementsEntity어떤 시스템인지에 따라 Entity는 사람, 장소, 사건(이벤트), 오브젝트가 될 수도 있다.WeakEntity어떤 Entity에 의존적인 Entity를 부르는 명칭Attribute엔터티(또는 관계)가 가진 정보를 나타내는 세부적인 요소엔터티의 특성을 구체화하며, DB테이블에서 열(Column)에 해당합니다.Relationship두 개 이상의 엔터티를 연결하며, 이를 통해 엔터티 간의 데이터 상호작용을 표현합니다.관계는 마름모(Diamond)..

Database 2024.11.28

Hypervisor (하이퍼바이저)

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

프로그래밍 2024.11.28

[C#] 참조형 null 초기화

C#에서 null!은 null-forgiving operator (!)를 사용하는 표현입니다. 이를 사용하는 이유는 다음과 같은 상황에서 발생할 수 있습니다:1. Nullable Reference Type (NRT) 경고 방지C# 8.0 또는 .Net6.0 부터 Nullable Reference Type 기능이 도입되었습니다. 이 기능은 참조형이 null을 가질 수 있는지 여부를 컴파일러가 추적할 수 있도록 도와줍니다.string은 기본적으로 non-nullable로 간주됩니다.하지만 초기화 시점에 null로 설정하려 하면 컴파일러가 경고를 발생시킵니다.public string Name { get; set; }; // 경고: Non-nullable property 'Name' must contain a ..

카테고리 없음 2024.11.28

[Windows] 우클릭 팝업메뉴 단축키 설정/변경

테스트 환경 : Windows10Notepad++ 윈도우 Context Menu 단축키 변경하는 방법입니다.레지스트리 편집기(regedit)를 실행합니다.Ctrl+F로 Notepad++를 검색하시면HKEY_CLASSES_ROOT/*/Shellex/ContextMenuHandlers 에 ANotepad++64 항목이 있을겁니다.혹은 HKEY_CLASSES_ROOT/*/ShellANotepad++64를 클릭하면 데이터에 {BXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX} 이런 값이 있습니다.{BXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX}를 복사해서 Ctrl+F를 눌러서 레지스트리 검색을 합니다.항목을 찾았으면 하위에 Settings가 있고 Title에 Edit with &No..

Windows 2024.11.16

[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

[Windows] Junction 특정 폴더로 링크 된 폴더 생성

JunctionJunction은 Windows 운영 체제에서 제공되는 파일 시스템 기능으로, NTFS 파일 시스템에서 사용할 수 있습니다.Junction은 일종의 심볼릭 링크(symlink)로, 특정 디렉터리(폴더)를 다른 디렉터리로 가리키게 하는 것입니다.이는 Linux나 Unix 시스템에서의 심볼릭 링크와 유사합니다.Windows의 바로가기와 Junction의 차이점얼핏 Windows의 바로가기기능이 Junction이 아닌가 라고 착각할 수 있다.둘의 차이점은 Path가 다르다는 것이다.바로가기는 해당 폴더의 Path를 그대로 가지고있다.Junction은 고유의 Path가 존재하며Junction 사용하기cmd 실행 후 아래 명령어를 참고한다.mklink /J [Src Path] [Dst Path]테스..

Windows 2024.05.28