분류 전체보기 149

힙(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

Microsoft SQL Server (MSSQL)에 대한 장단점 및 설명

장점 1. 다양한 기능 제공: MSSQL은 고급 기능과 기능이 풍부한 플랫폼으로, 트랜잭션 관리, 저장 프로시저, 트리거 등 다양한 기능을 제공합니다. 2. 다중 사용자 지원: 강력한 다중 사용자 지원으로 여러 사용자가 동시에 데이터베이스에 접근할 수 있습니다. 3. 관리 및 개발 도구: Microsoft의 SQL Server Management Studio (SSMS) 및 Visual Studio 등의 툴을 통해 데이터베이스를 효과적으로 관리하고 개발할 수 있습니다. 4. 높은 확장성: 대규모 응용프로그램 및 데이터베이스에 대한 확장성이 높습니다. 5. 보안 기능 강화: 고급 보안 기능을 갖추고 있어 데이터의 안전성이 높습니다. 단점 1. 비용: MSSQL은 상용 데이터베이스로 라이선스 비용이 발생할 ..

DataBase/MSSQL 2024.01.17

SQLite 장단점

장점: 1. 경량성 및 내장형: SQLite는 경량이면서도 내장형 데이터베이스로, 별도의 서버 설치 없이 파일 기반으로 데이터를 저장합니다. 이로써 쉽게 배포 및 관리할 수 있습니다. 2. 무료 및 오픈 소스: SQLite는 오픈 소스이며 무료로 사용할 수 있습니다. 이는 비용을 절감하고 자유롭게 사용할 수 있는 장점으로 작용합니다. 3. 간단한 사용법: 설치 및 설정이 간단하며, 초보자도 쉽게 사용할 수 있는 SQL 문법을 지원합니다. 4. 효율적인 읽기 작업: 읽기 작업에 강점을 가지고 있어, 읽기 중심의 애플리케이션에서 높은 성능을 보여줍니다. 5. 데이터 이식성: 파일 기반이기 때문에 동일한 데이터 파일을 여러 플랫폼에서 사용할 수 있습니다. 단점: 1. 다중 사용자 지원 한계: SQLite는 동..

DataBase/SQLite 2024.01.17

Github 화살표 폴더,폴더 클릭 안 됨 해결

Problem 위와 같이 Git에서 화살표 폴더가 생성되어 프로젝트 내부로 들어갈 수 없는 상황이 발생했다. Cause 이미 Git 설정이 되어 있는 상위 폴더 내부 하위 폴더에 Git 연결이 설정되어 있기 때문이었다. 간단하게 상위 폴더에도 .git 파일이 있고 하위 폴더에도 .git 파일이 있어서 하위 폴더를 Git 에 Push 했을 때 화살표 폴더로 생성되어 클릭이 안 됐던 것 Solution 하위 폴더의 .git 파일을 제거한다. (.git은 숨김 파일로 되어있다) 스테이지의 파일을 제거한다. git rm --cached . -rf 하위 폴더에서 위 명령어를 사용하여 스테이지 파일을 제거하면 된다.

Git 2024.01.17

.NET에서 IntPtr 및 네이티브 코드와의 상호 작용

IntPtr이란? IntPtr은. NET 언어에서 관리되지 않는 코드와 상호 작용하기 위한 특별한 데이터 형식으로, 포인터나 핸들과 같은 메모리 주소를 나타냅니다. 주로 P/Invoke와 같은 상황에서 사용되며, 네이티브 코드와의 상호 작용을 가능케 합니다. Array.Clear, Array.Copy, Marshal.Copy Array.Clear: 배열의 특정 범위의 요소를 초기화하는 메서드. 사용 이유: 초기화하지 않은 배열은 예기치 못한 동작을 일으킬 수 있으며, Array.Clear를 사용하여 초기화된 상태로 사용하기 위함. Array.Copy: 배열에서 다른 배열로 요소를 복사하는 메서드. 사용 이유: 데이터 이전이나 복사 과정에서 배열을 정확하게 관리하기 위해 사용. Marshal.Copy: 관..

C# 2024.01.11