C#
-
간단한 디펜던시 인젝션(DI) 구현프로그래밍/기록, 개념, 용어 2022. 11. 14. 14:21
Singleton, Transient, Scoped 같은 라이프타임은 제외하고, 어떻게 생성자가 요구하는 인자들을 순서대로 전달하는지에 대해 초점을 맞췄습니다. 아래에 HelloService가 있습니다. HelloService 클래스는 생성자에서 string과 List을 파라미터로 가지고 있습니다. 우리는 이 HelloService를 생성할 때, 외부에서 지정한 인자들을 주입하는 것이 목적입니다. class HelloService { private string _header; private List _contents; public HelloService(string header, List contents) { _header = header; _contents = contents; } public void..
-
C# - ArrayPool, MemoryPool프로그래밍/기록, 개념, 용어 2022. 10. 13. 23:46
ASP.NET Core 문서를 보던 중 모르던 게 보여서 검색을 해봤다. Request and Response operations in ASP.NET Core | Microsoft Learn 딱 알고 있는 메모리 풀과 크게 달라 보이지 않았다. 잠깐 쓰고 돌려주면 될 부분에 쓰면 딱 적합하게 보인다. 돌려주기를 깜빡하거나, 예외가 발생해서 돌려주지 못하는 경우만 없도록 신경쓰면 될 듯. 아래 블로그에서 설명을 너무 잘해주셨다. .NET Framework: 997. C# - ArrayPool 소개 (sysnet.pe.kr) .NET Framework: 999. C# - ArrayPool와 MemoryPool 소개 (sysnet.pe.kr)
-
C# 에서의 의존성 주입프로그래밍/의문 2022. 1. 22. 23:32
요약 Microsoft.Extensions.DependencyInjection 패키지 설치. Microsoft.Extensions.DependencyInjection 네임스페이스의 ServiceCollection를 이용해 의존성 주입에 이용될 클래스들을 등록. ServiceCollection으로 ServiceProvider 빌드. ServiceProvider의 GetService로 3의 ServiceCollection에 등록했던 인스턴스들을 사용. ServiceCollection에 등록한 클래스들이 사용하는 인수들은 ServiceProvider에 의해 알아서 주입이 됩니다. Microsoft.Extensions.DependencyInjection 패키지 설치. Nuget 같은 것을 이용해 Microsof..
-
코드를 생성해 파일에 코드를 주입하자프로그래밍 2018. 1. 17. 04:11
업무에 노가다를 줄여보고자 남는 시간에 코드를 만드는 코드를 만들었다. PQL이라는 이름을 붙인 쿼리 파일로부터 클라이언트에 삽입되는 코드를 만드는 것이 목적이었다.PQL은 이렇게 생겼다.select [ID:int], [Level:short], [Name:nvarchar(20)] from Character;그냥 sql의 select 쿼리에 저장할 타입을 지정한 것이다. 사실 이것도 내가 만든거라 이름도 내가 붙인거다. 필규 쿼리 랭귀지라고 -_-;여튼 저 문법을 통해서 만들어야 할 구조체를 알 수 있는데 위 PQL은 다음과 같은 구조체의 컨테이너에 로드가 될 것임을 알 수 있다.struct Character{ int id; short level; wchar_t name[20];};그런데 저 코드를 만드는..
-
c# + sqlite 사용 중 datetime 저장/조회에 발생한 문제프로그래밍/의문 2016. 7. 17. 12:53
문제DateTime time;string id;//...insert into tblTime(ID, EXPDATE) values({0}, {1}) 과 같은 쿼리로 EXPDATE에 DateTime을 저장하려고 했었다. 그러자 DateTime이 string으로 변환되는 중 "오후" 라는 것에서 오류가 났었는데 이는 DateTime이 "2016-07-21 오후 12:00:11" 같은 형식으로 변환 되며 내가 쓰는 버전의 sqlite에서 오후라는 것을 정상적인 포맷으로 인식하지 못하는 듯 하였다.(예외에서도 "오후"라고 되어있는 게 잘못되었다고 빡! 떠주시더라 -_-;) 해결DateTime의 포맷을 "yyyy-MM-dd HH:mm:ss" 로 바꿔서 해결했으며 변환 코드 샘플은 다음과 같다.코드 >>DateTime..