C# 범범조조 2023. 2. 24. 20:22
참조 https://docs.microsoft.com/ko-KR/dotnet/architecture/modern-web-apps-azure/architectural-principles#dependency-inversion 종속성 반전 애플리케이션 내에서 종속성의 뱡향은 구현 세부 정보가 아닌 추상화 방향에 있어야 합니다. 대부분의 애플리케이션은 컴파일 시간 종속성을 런타임 실행 방향으로 전달하여 직접 종속성 그래프를 생성하도록 작성됩니다. 즉, 클래스 A가 클래스 B의 메서드를 호출하고 클래스 B가 클래스 C의 메서드를 호출하는 경우 아래 그림에 표시된 대로 컴파일 시간에 클래스 A는 클래스 B에 종속되고 클래스 B는 클래스 C에 종속됩니다. 종속성 반전 원칙을 적용하면 A는 B가 구현하는 추상화에 대해..
더 읽기
인공지능 범범조조 2023. 2. 24. 19:24
소개 안녕하세요. TensorFlow & Keras 를 이용하여 간다한 선형회귀 모델을 작성 후 1에서 100까지 값 즉, y=ax+b 의 1차 함수를 예측하는 파이썬 코드를 작성해 보았습니다. 개발 환경 TensorFlow Version : 2.8.0 Keras Version : 2.8.0 Python Version : 3.10.3 Developer Tools : Visual Studio Code 예제 코드 예제 코드는 아래와 같습니다. import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensorflow import keras # 학습데이터 준비 x = np.array([1,2,3,4,5,6,7,8,9,10]..
C#/단위테스트 범범조조 2023. 2. 24. 19:21
목적 C# xUnit 을 이용하여 단위테스트를 작성할 수 있습니다. 단위 테스트를 진행할 때, 간혹 랜덤 데이터를 테스트때마다 필요로 하는 경우가 있습니다. 이럴때 유용할게 사용할 수 있는 NuGet Package 가 있어서 소개 및 사용법에 대해서 알려 드리려고 합니다. 바로, AutoFixture NuGet Package 를 이용하여 랜덤 데이터를 단위테스트에 적용할 수 있습니다. 그럼 예제 코드를 통해서 보여 드리겠습니다. AutoFixture 설치 누겟 패키지 관리자에서 AutoFixture NuGet Package 를 설치 진행합니다. 단위테스트 코드 작성 AutoFixtrue 를 이용하여 랜덤 데이터 사용하는 예제코드를 아래와 같이 작성하였습니다. 간단히 GetCount 라는 메서드를 테스트 ..
C#/Effective C# 책 정리 범범조조 2023. 2. 24. 05:02
참조 참고 사이트 참고 사이트 1. C# 에서의 형변환 C# 에서 형변환을 수행하는 방법에는 is/as 연산자 를 사용하는 방법과 컴파일러의 cast 연산자 구문을 사용하는 두 가지 방법 이 있습니다. 안정적인 코드를 작성하려는 경우, 우선 is 연산자로 형변환 유무 확인 후 실제 형변환을 수행하도록 코드를 작성할 수도 있습니다. 1.1. as 형변환 예제 object o = Factory.GetObject(); // as 변환 MyType t = o as MyType; if (t != null) { //MyType 타입의 t 객체 사용 } else { //형변환 실패 시 } 1.2. cast 연산자 예제 object o = Factory.GetObject(); // cast 변환 try { MyType..
C#/Effective C# 책 정리 범범조조 2023. 2. 24. 03:01
참조 참고 사이트 참고 사이트 참고 사이트 1. FormattableString 이란? C# 6.0에서 추가된 클래스 입니다. 문자열 보간 기능('$') 을 이용하여 생성된 문자열은 단순 문자열일 수도 있지만, FormattableString 을 상속할 타입일 수도 있습니다. FormattableString 은 문자열의 연결을 돕는 기능이 있어, 문화권과 언어를 지정하여 문자열을 생성하는데 활용할 수 있습니다. 아래 예제에서 var로 선언하면 변수 vs는 string 객체가 될 수도 있겠지만, FormattableString을 상속한 타입의 객체가 될 수도 있습니다. string s = $"It's the {DateTime.Now.Day} of the {DateTime.Now.Mon..