본문 바로가기

c#4

[C#] Byte 크기로 문자열 길이 제한하기 서비스 사용자에게서 개발 요청사항이 들어왔다. 우리 앱에서는 로그인한 아이디의 그룹웨어로 상대방에게 메일을 보내는 기능이 있는데, 일부 그룹웨어 메일이 없는 사람들이 메일기능을 사용할 수가 없어 불편함을 겪고 있다는 것이다. 회사 보안가이드 상 외부 메일을 사용할 수 없기 때문에 SMS문자를 보내는 기능을 개발하기로 하였다.  문자를 보내는 것은 이미 OTP인증 기능을 개발하며, 시스템을 갖추어 놨는데 이번에는 사용자가 내용을 입력을 할 수 있기 때문에 최대 가능 문자용량인 80Byte를 넘지 않도록 해야 했다. 서비스 사용자가 중국, 한국, 베트남 등 다양한 언어를 사용하기 때문에 이를 고려해서 Byte에 제한을 두는 방법을 생각해보았다. 우선 문자 내용이 제한에 의해 잘려도 크게 문제가 되지는 않는내.. 2024. 8. 29.
[C#] IOException: Sharing violation on path 에러 해결 Unity에서 json파일을 로컬로 생성할일이 생겼다. 처음엔 별 생각없이 파일을 생성하고, 내용을 넣어주면 될 것이라고 생각하고 코드를 짰다.File.Create(settingDataPath);File.WriteAllText(settingDataPath, JsonConvert.SerializeObject(setting)); settingDataPath라는 파일을 생성하고,  setting이라는 Object를 직렬화해서 write하려했는데 IOException이 발생했다. IOException은 주로 파일이 이미 열려있거나, 다른 프로세스에 의해 사용 중일 때 발생한다고 한다. 정황상 WriteAllText가 실행될 때, Create가 정상적으로 종료되지 않은 것이라고 생각되어 찾아보니   File.Cr.. 2024. 8. 22.
[UNITY, C#] unitywebrequest downloadProgress 값이 일정하게 증가하지 않는 경우 해결 Unity에서 호출한 API의 response에 대한 progressBar를 구현할 때, UnityWebRequest의 downloadProgress를 사용하게 된다. downloadProgress를 활용하여 아래와 같이 progressBar의 %를 계산하여 보여주는 함수가 있다. public IEnumerator ShowDownloadProgress(UnityWebRequest www) { while (!www.isDone) { if(LoadingScreen.instance != null) LoadingScreen.Fill(www.downloadProgress); Debug.Log(string.Format("Downloaded: {0}%", www.downloadProgress)); yield retu.. 2024. 2. 15.
[SOAP,C#] SOAP 통신 하는법 아마도 정보처리기사 공부할때나 들어봤지, 실제 개발하면서 내가 사용하게 될 날이 올줄은 몰랐단 단어다. 프로젝트의 필요 데이터를 가져오기 위해 PLM관리 부서에 특정 데이터를 받아 올 수 있는 API를 요청했고, 몇 시간 뒤 한 줄의 메시지를 받았다. 김OO : http://XX.YYY.ZZ.LL:1111/XXX/XXX-services/AA_BB_CC 사용하세요~ 메세지를 받자마자 든 생각은 '뭔데 이게..' 였다. 당연히 REST API를 생각했었는데 메쏘드나 파라미터 등에 대한 정보도 안알려주고 달랑 URL만 보내준다는게 이해가 안갔으나 조심스럽게 브라우저에서 접속을 시도해 보았다. soap:Server No such operation: (HTTP GET PATH_INFO: `URL`) 생소한 값 속.. 2023. 11. 3.