34 posts in total

Dotnet

Posts tagged

Enumerable.FirstOrDefault() 메소드가 반환하는 기본 값

by Justin Yoo · 1 min read

Enumerable.FirstOrDefault<Tsource>() 메서드 또는 Enumerable.SingleOrDefault<Tsource>() 메서드는 시퀀스에서 찾는 값이 없을 경우 Tsource 타입의 기본 값을 리턴한다. 대부분의 경우 이 Tsource 타입은 클라스와 같은 레퍼런스 타입이거나 nullable 타입이어서 그냥 간단하게 null 값을 리턴한다. 위의 예제 코드를 보자. 4번 라인에 보면 item == null을 통해 바로 위 FirstOrDefault ...

데메테르의 법칙 Law of Demeter

by Justin Yoo · 3 min read

데메테르는 그리스 신화에 나오는 추수의 신이다. 로마신화에서는 세레스 Ceres 라고 불리는 바로 그 신. 하지만, 그 데메테르하고 이 법칙하고는 상관없다는 것이 함정. [위키피디아]1에서는 데메테르의 법칙을 아래와 같이 정의하고 있다. 데메테르의 법칙에서는 어떤 객체 O의 메소드 m는 다음과 같은 종류의 객체에 있는 메소드들만 실행시킬 수 있다. O 자체 m 의 변수 m 안에서 만들어진 객체 O가 직접 관리하는 콤포넌트 객체 m의 스코프 안에서 O가 접근 가능한 전역변수 좀 말이 어려운데 ...

엔티티 프레임워크 Code First 방법론 #3

by Justin Yoo · 1 min read

엔티티 프레임워크 Code First 방법론 #1 엔티티 프레임워크 Code First 방법론 #2 엔티티 프레임워크 Code First 방법론 #3 Foreign Key 설정하기 앞서 Data Annotation 방법을 통해 테이블의 컬럼들에 대한 속성을 제어하는 방법에 대해 알아보았다. 이번에는 테이블 각각에 대한 관계를 설정하는 방법에 대해 논의해 보도록 하자. 현재 Products 테이블과 Orders 테이블은 각각 상품 정보, 주문 정보를 가지고 있다. 이 둘은 many-to-many ...

정규표현식 성능 향상 팁

by Justin Yoo · 2 min read

데이터 웨어하우징에 ETL 프로세스는 반드시 필요하다. 이 과정에서 데이터 클렌징을 포함한 텍스트 프로세싱을 진행하게 되는데, 정규표현식은 이 텍스트 프로세싱의 핵심 요소들 중 하나이다. 일반적인 상황에서 정규표현식은 아래와 같은 형태로 사용한다. 위의 예제와 같이 정규표현식은 정적 메소드인 Regex.Ismatch()의 형태로 쓰였다. 물론 아래와 같은 형태로 쓰일 수도 있다. 위의 예제 코드는 정적 메소드인 Regex.IsMatch()를 사용하는 대신 Regex 인스턴스를 사용한다. 그렇다 ...

엔티티 프레임워크 Code First 방법론 #2

by Justin Yoo · 2 min read

엔티티 프레임워크 Code First 방법론 #1 엔티티 프레임워크 Code First 방법론 #2 엔티티 프레임워크 Code First 방법론 #3 데이터 타입 설정하기 앞서 Local DB에 테이블을 생성하는 방법까지 알아 보았다. 만들어진 테이블은 아래와 같다. 여기서 눈여겨 봐야 할 것은 각각의 필드 데이터 타입 및 크기이다. NULL vs NOT NULL NVARCHAR(MAX) decimal 데이터 타입 크기 int, datetime 앞의 글에서 언급한 바와 같이 엔티티 이름 ...

엔티티 프레임워크 Code First 방법론 #1

by Justin Yoo · 3 min read

엔티티 프레임워크 Code First 방법론 #1 엔티티 프레임워크 Code First 방법론 #2 엔티티 프레임워크 Code First 방법론 #3 엔티티 프레임워크(Entity Framework, EF)가 가진 수많은 장점들 중 하나는 데이터베이스로부터 직접 ORM 매핑 클라스를 생성해 준다는 데 있다. 데이터베이스 연결을 위한 로그인 정보만 지정해주면 해당 데이터베이스의 모든 테이블, 스토어드 프로시저, 함수 등을 모두 객체화하여 손쉽게 코드에서 사용할 수 있게 해주는 것이다. 하지만, ...