분류 전체보기 244

[Docker] Windows 이미지 사용기

docker windows : https://hub.docker.com/r/dockurr/windows테스트 배경온라인으로 은행 업무를 볼 때마다 수많은 보안 툴들이 설치되는데,이 보안 툴들이 프로세스들을 계속적으로 감시하면서 PC성능 저하를 일으키므로, (실제로 보안 툴 설치 여부에 따라서 동일한 프로그램 실행에도 버벅임이 줄었음을 확인했다.)은행 업무 후엔 설치 된 모든 보안 툴을 삭제해주는 작업을 진행했다.하지만 이 작업들이 반복되면서 짜증을 느꼈다.별도의 OS환경이 필요함을 느꼈고, Docker 기반 Windows OS를 실행시켜 사용할 수 있다는걸 발견했다.물론 Windows 에는 샌드박스라는 좋은 시스템이 있긴하지만, 샌드박스는 임시로 실행되는 인스턴스 환경을 제공하므로,샌드박스 종료 시 모든..

[WPF] MaterialDesign 아이콘 사용하기

Open source Iconpictogrammers 사이트에 접속합니다. (https://pictogrammers.com/libraries)Open source Icon 제공Icon 선택 후 `Download XAML (Canvas) for Windows` 선택하여 다운로드합니다.Notepad사용하여 내용 복사합니다.wpf xaml파일에서 사용합니다.ViewBox를 사용하면 크기 조절이 가능합니다.Account.xaml Canvas Class : https://learn.microsoft.com/ko-kr/dotnet/api/system.windows.controls.canvas?view=windowsdesktop-9.0

프로그래밍 2024.12.17

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