우연치 않은 기회가 되어, 각 프로젝트에서 사용하는 HTTP를 호출하는 상황에 대해서 여러 코드를 보게 되었습니다. 몇개의 프로젝트 및 툴들을 조사하다 보니 정말 다양한 방법으로 HTTP를 요청하고 있었는데요. 기회가 된 김에 정리를 한번 해보려고 합니다. 정리를 하다 보니 더 다양하게 알게 되는거 같아서 좋았습니다. .NET Framework에서 사용하는 방식에 대해서만 정리를 했습니다. .NET Framework에서 작업할 때 HTTP 요청을 사용하기 위해서는 세가지 방법이 있습니다. WebRequest (HttpWebRequest) WebClient HttpClient 위 class들을 어떻게 사용하는 것이 좋은가? 세가지 class가 다 필요한 것인가? 에대한 질문을 스스로 던져보았는데요. 결론은..
Android Studio 가 익숙하지 않으신 분들은 VSCode 툴을 이용해서 Flutter를 개발하실 수 있습니다. Visual Studio Code가 Android Studio 보다는 구동이 가볍기 때문에, 환경에 맞는 툴을 이용하셔서 개발하는 것을 추천 드립니다. 1. Extension 설치 Visual Studio Code를 실행한 다음, 좌측에 보시면 아래 모양의 아이콘을 클릭하시면 각종 Extension 들을 설치 하실 수 있습니다. Flutter Extension 설치 Flutter를 검색하셔서 설치 하시면 되며, Dart 언어도 같이 설치가 되기 때문에 Flutter 만 검색 하셔서 설치 하시면 됩니다. Rainbow Brackets 설치 Dart 언어의 특성상 브라켓이 많아 가독성을 조..
한글을 2byte로 계산하기위해서 기본적으로 이해를 하셔야 하는 부분은 바로 Unicode 입니다. 해당 부분에 대한 이해없이 단순히 Encoding을 이용해서 Byte 수를 계산한다면, 한글자당 2~3 으로 byte수가 변하는 것을 경험하시게 될겁니다. 한줄로 요약한다면, 유니코드는 국제표준 문자표이고 UTF-8은 인코딩 방식입니다. Unicode는 전세계 언어를 모두 표시할 수 있는 표준코드 입니다. 그래서 언어자체의 의미로 byte 수를 계산하려고 한다면 Unicode로 인코딩 해서 계산하여야 합니다. 그렇지 않다면, 아래와 같은 오류를 범하실 수 있습니다. string str = "헬로우월드다"; byte[] data = Encoding.Default.GetBytes( str ) int count..
iOS와 Android 두 플랫폼을 멀티로 지원하는 플랫폼은 제가 알기로는 두개였었습니다. 첫번째가 Xamarin 이였고, 그 다음이 React 였는데요. 우연한 기회에 Flutter를 알게 되었습니다. Google에서 만든 Mobile App SDK 입니다. Google에서 개발 하였다고 하니, 지원이 좋을것 같아서 공부해 보는 계기가 되었습니다. 1. 설치 https://flutter.dev/docs/get-started/install?gclid=EAIaIQobChMI-q_axuuP6gIVRLaWCh0ouwO4EAAYASABEgKkcfD_BwE&gclsrc=aw.ds Install How to set up your code editor. flutter.dev 위 설치 경로로 접속을 하시면, 아래와 같..
List 혹은 Dictionary 자료구조를 이용해서 Referance Class를 Add 할 경우, 간혹 실수 하는 부분이 있습니다. Add 시점에 값을 변경할 경우, 기존에 Add 한 영역까지 참조 값이 바뀌는 부분인데요. new 키워드를 이용해서 반복적으로 Add할 경우에는 문제가 없지만, foreach ( var item in listData ) { gamePlayData.Add( new Item{ Index = eventCount++, Score = score } ); } 부득이하게, Global로 선언된 변수를 Add 하는 시점에 값을 변경하는 경우가 발생합니다. foreach ( var item in listData ) { item.Index = eventCount++; item.Score ..
.NET Framework 4.8 환경에서 개발을 진행 하던 도중, 기본 리터럴 기능을 사용할 일이 있었습니다. 직접 사용한 것은 아니지만, 다른 분이 작업한 내용을 우연히 가지고 오는 과정에서 빌드 오류가 발생해서 찾아본 내용이였습니다. Visual Studio 에서는 정상적으로 빌드가 진행이 되지만, MSBuild 를 이용해서 빌드를 진행하는 과정에서 .NET Framework의 버전은 같으나, 언어 버전이 발생해서 빌드 오류가 발생했습니다. 1. 기본 리터럴 구문의 사용은 C# 7.0 에서는 사용 불가! public DataModel GetData() { return default( DataModel ); } '기본 리터럴' 기능은 C# 7.0에서 사용할 수 없습니다. 언어 버전 7.1 이상을 사용..