- 컨텍스트 풀링을 사용하면 컨텍스트 설정 비용을 지속적으로 지불하지 않고 프로그램 시작 시 한 번만 지불하면 됨. - 컨텍스트 풀링은 데이터베이스 드라이버에서 하위 수준에서 관리되는 데이터베이스 연결 풀링과 직교한다는 점에 유의 ▶ 종속성 주입builder.Services.AddDbContextPool( o => o.UseSqlServer(builder.Configuration.GetConnectionString("WeatherForecastContext"))); ▶ 종속성 주입없이 var options = new DbContextOptionsBuilder() .UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_C..
💡 개요 - 프로그래밍 하다보면 이름 짓는게 여간 어려운게 아님.- 이름을 잘 지어야 기능별 분리도 잘되고 나중에 유지보수 하기도 쉬움- 가독성도 높아짐 그래서 정리함 1. Helper 사용 시점 :Utility 기능: 주로 작은 단위의 유틸리티 함수들을 모아놓은 클래스.독립적 기능: 다른 클래스와 독립적으로 동작하며 특정 기능을 보조.특징 :Stateless: 상태를 가지지 않으며 메서드가 독립적으로 동작.Static Methods: 보통 정적 메서드로 구성되어 객체 인스턴스 생성 없이 사용 가능.예제 :public static class TimeHelper{ public static string ToString(DateTime dateTime) { return dateTime.ToString..
아래와 같은 코드가 있다. int testA = -1; var testB = (uint)testA; 이때 testB는 뭐가 될까?? uint니까 1이될까?? 땡이다. 위의 코드에 로그를 달아 찍어보자. int testA = -1; var testB = (uint)testA; Console.WriteLine("testA : " + testA); Console.WriteLine("testB : " + testB + ", uint max =" + uint.MaxValue +", if(testB == uint.maxValue)" + (testB == uint.MaxValue)); 흥미롭게도 testB는 예상외의 숫자가 되었다. 4294967295가 의미하는건 뭘까? 바로 uint.maxvalue 값이다..
STATE 패턴 STATE 패턴이란? 객체의 상태에 따라 객체의 행위가 달라 질 때 사용 상태별 행위를 별도의 클래스에서 구현함으로써 코드 분리가 가능, 새로운 상태를 유연하게 추가 확장 할 수 있음 if/else 블럭으로 구현하는것보다 state 패턴을 사용하여 각 상태별로 구현하는것이 효율적일 수 있음 사용 예 , CODE internal class Program { static void Main(string[] args) { var testPlayer = new TestPlayer(); testPlayer.ChangeState(new LoginState()); Console.ReadLine(); } } Main.cs public class TestPlayer { public PlayerState P..