본문 바로가기
반응형

전체 글608

Boxing, UnBoxing에 대해서 알아보자 값 타입과 참조 타입을 서로 변환해주는걸 Boxing, UnBoxing이라고 합니다. 값 타입과 참조 타입 저장 위치 상속 데이터 타입 예시 값 타입(Value Type) 스택(Stack) 영역 System.ValueType int, char, double..등 기본타입과 struct 참조 타입(Reference Type) 힙(Heap) 영역 System.Object class 박싱 (Boxing) 값 타입(Value Type)의 객체를 참조 타입(Reference Type)으로 변환하는 작업을 말합니다. 예제 코드 int i = 10; object o = i; Console.WriteLine(o.ToString()); 언박싱 (UnBoxing) 참조 타입(Reference Type)을 값 타입(Valu.. 2023. 3. 31.
이벤트 소싱 패턴(Event Sourcing Pattern)에 대해서 데이터의 현재 상태만 저장하는 대신 추가 전용 저장소를 사용하여 해당 데이터에 수행된 전체 작업을 기록합니다. 이렇게 하면 데이터 모델과 비즈니스 도메인을 동기화할 필요가 없고 성능, 확장성 및 응답성이 향상되므로 복잡한 태스크를 간소화할 수 있습니다. 또한 트랜잭션 데이터에 일관성을 제공하고 보정 작업에 사용할 수 있는 전체 감사 추적 및 기록을 유지할 수 있습니다. 기존 CRUD를 이용한 접근 방법 대부분의 응용 프로그램은 데이터로 작업하며, 일반적인 방법은 사용자가 작업할 때 데이터를 업데이트하여 데이터의 현재 상태를 유지 관리하는 것입니다. 예를 들어 기존의 CRUD(Create, Read, Update, Delete) 모델에서 일반적인 데이터 프로세스는 저장소에서 데이터를 읽고 일부 수정한 다음.. 2023. 3. 30.
C# 코드 컴파일 단계에 대해서 C# 코드 컴파일 C#은 강력한 형식(strongly typed), 어휘 범위(lexically scoped), 함수형(functional), 객체 지향(object-oriented) 및 구성 요소 지향(component-oriented) 프로그래밍 언어입니다. C# 코드는 어떻게 컴파일되고 실행되는지 알아봅시다. C# 코드 컴파일의 단계별 프로세스 C# 코드 작성 C# 컴파일러를 사용해서 코드 컴파일 컴파일러는 코드에 오류가 있는지 여부를 확인합니다. 소스 코드는 Common Intermediate Language (공통 중간 언어, CIL) 또는 Intermediate Language Code (중간 언어 코드, ILC 또는 IL코드)라고 하는 중간 코드로 변환됩니다. C#은 플랫폼 독립적 언어이므로.. 2023. 3. 29.
JOIN에 대해서 알아보자 JOIN 5줄 요약 조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다. OUTER JOIN(외부 조인)은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다. CROSS JOIN(상호 조인)은 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능이다. SELF JOIN(자체 조인)은 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다. INNER JOIN(내부 조인) 두 테이블을 연결할 때 가장 많이 사용하는 것이 내부 조인입니다. 그냥 조인이라고 부르면 내부 조인을 의미합니다. SELECT FROM INNER JOIN ON.. 2023. 3. 28.
물건을 비우고 그 자리에 나 채우기 나는 자본주의가 아름답다고 생각하는 사람 중 한 명이다. 자본주의는 욕망을 자극해서 사람들이 자발적으로 더 많이 일하도록 동기부여하고 더 많이 소비하도록 부추긴다. 잉여생산물을 만들어내고 돈이 원활하게 흐르도록 말이다. 이는 우리의 삶을 풍요롭고 윤택하게 만들어주었다. 하지만 아무리 좋은 것에도 단점은 존재하기 마련이다. 자본주의가 자극하는 욕망을 제대로 컨트롤하지 못하면 그 욕망에 압도당하기 십상이다. 단지 할인한다는 이유만으로 당장 필요 없는 물건을 구매 스트레스를 풀기 위해서 쓸데없는 잡동사니 구매 해당 브랜드의 이미지가 멋져 보여서 형편에 맞지 않는 물건을 구매 이렇게 구매한 물건이 지금 방 안에 가득한 건 아닌지 둘러봐야 한다. 내가 사용해야 할 공간이 물건을 보관하는데 전부 사용된다면 이거야 .. 2023. 3. 28.
C# Discards _의 정체 Discards _ 란 C#에서는 어플리케이션에서 의도적으로 사용되지 않는 임시 변수인 Discards를 제공한다. Discards 변수는 "_" (underscore, 언더스코어 혹은 underbar, 언더바)로 표시한다. 왜 무시 변수인 Discard가 필요한가? 별도의 변수를 선언 할 필요가 없다. 또한 discards를 사용하면 메모리 할당을 줄일 수 있다. 코드의 의도를 투명하게 만들고 가독성과 유지 관리성을 향상시키는데 도움이 된다. 예제 코드 switch를 사용한 패턴 매칭 class Program { static void ProvideString(string statement) => Console.WriteLine(statement switch { "x" => "hello, x world".. 2023. 3. 23.