2024/01 14

DBContext 를 사용하여 Migration 하는 방법

DBContext를 사용하여 데이터베이스 마이그레이션을 수행하는 방법은 Entity Framework Core의 주요 기능 중 하나입니다. 아래는 간단한 단계별 설명으로 DBContext를 사용하여 DB Migration을 수행하는 방법입니다. * Package Manager Console 사용 시 기준 단계 1: Entity Framework Core 설치 프로젝트의 NuGet 패키지 관리자 콘솔에서 다음 명령어를 사용하여 Entity Framework Core 패키지를 설치합니다. Install-Package Microsoft.EntityFrameworkCore.Tools 단계 2: DBContext 클래스 생성 프로젝트에 DBContext 클래스를 만듭니다. 아래는 간단한 예제입니다. using M..

C# 2024.01.25

C# 참조 타입 , 값 타입 (ref, out 사용)

C# 언어는 참조 타입(reference type)과 값 타입(value type)을 갖는 주요 데이터 타입을 제공합니다. 이 두 가지 타입은 변수의 성격과 메모리에 저장되는 방식에서 차이가 있습니다. 이에 대한 이해는 C# 프로그래밍에서 핵심적인 역할을 합니다. 참조 타입 (Reference Type) 대표적인 참조 타입: 클래스(class), 인터페이스(interface), 델리게이트(delegate), 배열(array) 등 저장 위치: *힙(heap) 메모리에 저장 변수: 변수는 힙에 저장된 객체의 참조를 가짐 특징: 여러 변수가 동일한 객체를 참조할 수 있음 전달 방식: 메서드에 전달되면 객체의 참조가 복사되므로, 객체의 속성을 변경하면 원본 객체에 영향을 미침 값 타입 (Value Type) 대..

C# 2024.01.23

힙(Heap) , 스택(Stack) 메모리

힙 (Heap) 메모리 특징 동적 할당: 힙 메모리는 프로그램 실행 중 동적으로 할당되는 메모리의 영역입니다. 개발자가 필요에 따라 메모리를 동적으로 할당하고 해제할 수 있습니다. 전역 변수 및 동적 객체: 힙은 전역 변수와 동적으로 생성된 객체들이 저장되는 곳입니다. 이는 객체의 생명 주기가 프로그램 실행 동안 동적으로 변할 수 있음을 의미합니다. 개발자가 직접 관리: 힙 메모리는 개발자가 직접 할당과 해제를 관리해야 합니다. 메모리 해제는 명시적으로 이루어져야 하며, 이를 신경 쓰지 않으면 메모리 누수의 위험이 있습니다. 생명 주기 동적 할당: 힙 메모리는 개발자의 명시적인 해제 없이는 메모리가 계속 유지됩니다. 개발자가 메모리를 명시적으로 해제하지 않으면 메모리 누수가 발생할 수 있습니다. 프로그램..

C# 2024.01.23

GitHub Copilot Chat 사용 방법(Visual Studio)

전제 조건 - GitHub Copilot 구독 다운로드 - 상위 탭에 있는 확장에서 확장 관리 클릭 - github copilot chat 검색 후 다운로드 - 다운로드 완료 후 껐다 켜야 함 사용 - 상위 탭에서 GitHub Copilot 채팅을 눌러 사용할 수 있다 위와 같이 질문을 하면 코드를 작성해 준다. 아직 사용해보진 않았지만 코딩을 하면서 GPT를 따로 봐야 하는 번거로움이 줄을 거 같아 좋다

C# 2024.01.18

[DataBase] 장단점 비교 (MySql, MSSQL, MariaDB, PostgreSQL, SQLite)

SQLite -> https://cordcat.tistory.com/163 SQLite 장단점 장점: 1. 경량성 및 내장형: SQLite는 경량이면서도 내장형 데이터베이스로, 별도의 서버 설치 없이 파일 기반으로 데이터를 저장합니다. 이로써 쉽게 배포 및 관리할 수 있습니다. 2. 무료 및 오픈 cordcat.tistory.com MSSQL -> https://cordcat.tistory.com/164 Microsoft SQL Server (MSSQL)에 대한 장단점 및 설명 장점 1. 다양한 기능 제공: MSSQL은 고급 기능과 기능이 풍부한 플랫폼으로, 트랜잭션 관리, 저장 프로시저, 트리거 등 다양한 기능을 제공합니다. 2. 다중 사용자 지원: 강력한 다중 사용자 지원으 cordcat.tistor..

DataBase 2024.01.17

MySQL에 대한 장단점 및 설명

장점 1. 높은 성능 및 확장성: MySQL은 높은 성능을 제공하며, 데이터베이스의 확장이 용이합니다. 인덱스 기능, 병렬 처리, 캐시 등을 활용하여 효율적인 데이터 처리를 지원합니다. 2. 다양한 플랫폼 지원: 다양한 운영체제 및 플랫폼에서 동작 가능하며, 널리 사용되고 지원되는 데이터베이스 시스템 중 하나입니다. 3. 커뮤니티 및 생태계: MySQL은 활발한 커뮤니티와 풍부한 생태계를 가지고 있어 문제 해결 및 지원이 수월합니다. 다양한 도구와 라이브러리가 지원되어 있습니다. 4. 풍부한 기능과 기능 확장성: 다양한 데이터 형식, 저장 엔진, 트랜잭션, 복제, 클러스터링 등 다양한 기능을 제공합니다. MySQL은 상업적으로도 사용되며, 엔터프라이즈 환경에서도 신뢰성 있는 기능을 제공합니다. 5. 안정..

DataBase/MySQL 2024.01.17

MariaDB에 대한 장단점 및 설명

장점 1. MySQL 호환성: MariaDB는 MySQL의 fork로 시작되어 MySQL과 높은 호환성을 유지하면서도 여러 기능과 개선 사항을 추가하여 사용자에게 선택의 폭을 넓혀줍니다. 2. 고성능 및 확장성: MariaDB는 높은 성능과 확장성을 제공하며, 병렬 스레딩, 캐시 기능, 효과적인 쿼리 최적화 등을 통해 뛰어난 성능을 보장합니다. 3. 열 지향 저장 엔진 Aria: MariaDB는 특별히 읽기 작업이 많은 경우에 유용한 열 지향 저장 엔진인 Aria를 기본으로 제공합니다. 4. 보안 기능 강화: MariaDB는 데이터 암호화, SSL/TLS 지원 등 다양한 보안 기능을 내장하고 있어 안전한 데이터 관리를 지원합니다. 5. 개발자 및 커뮤니티 지원: 활발한 개발자 및 커뮤니티 지원을 받고 있..

DataBase/MariaDB 2024.01.17

PostgreSQL에 대한 장단점 및 설명

장점 1. 다양한 데이터 형식 및 기능: PostgreSQL은 다양한 데이터 형식을 지원하고, 풍부한 기능 세트를 가지고 있어 다양한 응용프로그램에 적합합니다. 2. 높은 확장성: 대규모 데이터베이스 및 응용프로그램에 적합한 높은 확장성을 제공합니다. 수평 및 수직 확장이 가능합니다. 3. ACID 호환성: ACID 트랜잭션을 지원하여 데이터 일관성과 안전성을 보장합니다. 4. 강력한 보안 기능: 고급 보안 기능을 갖추고 있어 데이터의 안전성이 높습니다. SSL 인증 및 데이터 암호화를 지원합니다. 5. 다중 사용자 지원 및 동시성 제어: 다중 사용자 지원이 뛰어나며, 동시성을 효과적으로 제어할 수 있습니다. 6. 완전한 SQL 지원: 표준 SQL을 완전히 지원하고, 복잡한 쿼리 및 조인을 효과적으로 처..

DataBase/PostgreSQL 2024.01.17