본문 바로가기

C#/Tip3

HttpClient 로 Json 데이터 변환시 정의된 대로 사용되지 않는 문제해결 닷넷 버전이 올라가면서 인터넷 통신을 할 때 HttpClient 클래스를 사용하도록 권장하고 있습니다. 특히 통신 비동기 처리를 쉽게 하기 위해서는 이 클래스를 사용하는 것이 좋은데요. 이것을 이용하여 통신시에 Json 데이터를 마음대로 컨트롤 할 수가 없어서 고민을 하게 되는 경우들이 있습니다. 예를 들어서, 실제로 전달하는 데이터에는 "NameOfGame" 이라고 전달했는데, 실제로 받은 데이터를 봤을 때는 "nameOfGame" 이런 식인 것이죠. 옛날 버전으로 개발을 하다가 최신 버전으로 올라왔을 때 종종 이해가 안되는 부분인 것 같습니다.  기본적인 이유는 예전 버전에서는 Newtonsoft.Json 이라는 외부 라이브러리를 사용했으나, HttpClient는 닷넷에서 제공하는 System.Tex.. 2024. 8. 3.
C# Dictionary 초기화 방법 비교 안녕하세요 이번 글에서는 무의식적으로 사용하고 지나갈 수도 있는 Dictionary 초기화 방법에 대해서 비교해보려고 합니다.  [ 초기버전 ]별도의 Dictionary 초기화를 지원하지 않았습니다. 따라서 항상 빈 Dictionary 초기화를 진행하고나서 추가하는 과정이 필요했습니다.( 아래 처럼 작성하고 최근버전에서 실행하면  Collection Initializer can be simplified 라고 뜰 겁니다. 실제로 인텔리센스가 제안해주는 방법대로 실행하면 [2] 처럼 코드가 나옵니다.) [1]Dictionary students = new Dictionary ();students.Add(1,"홍길동");students.Add(2,"콩쥐");students.Add(3,"심청이");  [ C# .. 2024. 7. 28.
US7ASCII로 저장된 한글 데이터 깨짐 해결 방법 (c#) 오래된 프로젝트와 연동할 일이 있다면, 한 번 씩 부딪힐 수 있는 문제가 오라클에서 US7ASCII로 한글을 저장해놓은 경우일 겁니다. 일반적으로 우리가 사용하는 로컬 컴퓨터 및 서버는 설정이 한글이라서 데이터를 새로 마이그레이션하거나, 아니면 조회할 때 데이터를 잘 가져와야합니다. 하지만, DB에서 직접 볼 때 뿐만 아니라 실제 프로그래밍 언어에서 DB를 조회하는 경우 일반적으로 처리하게 된다면 이미 깨진 상태의 값들만을 보게 된다는 것이 문제입니다. 여러 프로젝트를 동시에 하고 있을 수도 있는데 OS나 DB의 기존 설정을 바꾸는 것은 생각지못한 위험이 있을 수 있습니다. 그래서 간단하게 처리할 수 있는 방법은 2단계에 걸쳐서 처리하는 방법입니다. (1) DB에서 문자열 데이터를 바이너리 값으로 바꾸어.. 2022. 8. 8.