본문 바로가기

분류 전체보기254

[C#] 대소문자 구분 없이 Contains 확인 개발 중, 에러를 잡아내는 부분에서 TEST가 들어가는 항목에 대해서는 에러를 잡아내지 않기로 했다. 따라서 모두 비교해줘야 하는데, 테스트 선박인 만큼 TEST를 쓸 수도 있고, test로 쓸수도 있고, Test로 쓸 수도 있다. 모두 ||로 처리하기엔 너무 많은 상황. 간단히 StringComparer.OrdinalIgnoreCase 속성으로 비교할 수 있다. if(data.Contains("TEST", StringComparison.OrdinalIgnoreCase)) { // 내용 } 2021. 7. 7.
[C#] string: startsWith, endsWith 시작, 끝 글자 여부 startsWith 이 글자로 시작하는지를 판단하는 메소드 https://docs.microsoft.com/ko-kr/dotnet/api/system.string.startswith?view=net-5.0 String.StartsWith 메서드 (System) 이 문자열 인스턴스가 지정한 문자로 시작하는지를 확인합니다.Determines whether this string instance starts with the specified character. docs.microsoft.com endsWith 이 글자로 끝나는지 판단하는 메소드 프로그램 확장자를 이름으로 판단하기에 좋다. (.zip, .xlsx...) https://docs.microsoft.com/ko-kr/dotnet/api/system.s.. 2021. 7. 5.
[C#] JSON 항목 삭제가 불가능 할 때 삭제 하는 방법 배경 C#에서 JSON의 항목을 삭제하던 중, 에러를 만났다. Cannot add or remove items from Newtonsoft.Json.Linq.JProperty. JProperty에서 항목을 추가하거나 삭제할 수 없다는 것. 이유 이유는 token["_id"]와 같이 접근했을 때, 우리는 값에 접근하게 된다. 즉 token["_id"]가 아닌 그 값에다가 remove를 해서 에러가 났던 것이다. 이런 JSON 구조에서는 Key 값과 Value 값이 있기 때문인데, Key를 삭제해줘야 하는데 Value를 삭제하려고 했다는 의미이다. 따라서 token["_id"].Parent.Remove()를 하면 된다. 출처 Getting the error “Cannot add or remove items .. 2021. 7. 1.
[C#, Cosmos DB] 날짜 사용 (feat. Z) 오늘의 에러는 같은 조건의 SQL을 사용하는데 - 한 SQL은 계획한 대로 작동하고, - 다른 한 SQL은 마지막 데이터가 빠져서 작동하였다. 다행히 예전에 SQL의 'Z' 사용에 대해서 읽은 적이 있어서 쉽게 해결하였다. 무슨 말인가 하면, 날짜 형식의 string에 'Z'가 있느냐, 없느냐에 따라 작동이 달라진다는 것이다. 따라서 "2021-06-03T01:00:00.000" 는 "2021-06-03T01:00:00.000" 시각의 데이터를 포함하지 못하고, "2021-06-03T01:00:00.000Z"는 "2021-06-03T01:00:00.000" 시각의 데이터를 포함할 수 있어서 계획한 대로 데이터를 출력해 준다. 결국 "Z"를 붙여서 정확하게 사용해야, 정확한 결과를 얻을 수 있다. 관련 문.. 2021. 6. 8.
[C#] 요소가 null 일 때 처리 (?., ?[], ??, ??=) ?., ?[] 액세스 C# 백엔드로 직무를 바꾸며 정말 많은 종류의 에러가 null 값에서 멤버 액세스를 할 때 나오는 것을 보았다. 이 때, 회사에서 짜여있는 코드는 모두 if로 null검사를 해서 코드가 정말 길어지는 것을 볼 수 있었다. 단지 null 검사인데 이렇게 길어지는게 보기 싫긴 했지만 다른 방법이 없을거라고 생각하며 썼다. 그런데 C#에 대해 공부하며 또 알아온 것이 있으니 멤버 액세스 연산자 및 식이다. https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/operators/member-access-operators#null-conditional-operators--and- 멤버 액세스 연산자 및 식 - C# 참조 형식 멤.. 2021. 6. 8.
[QUERY] COSMOS DB MAX, MIN 코스모스 DB에서 각 ID 별로 최대 시간을 구하고 싶었다. 그런데 COSMOS DB는 서브쿼리를 지원하지도 않고, 지원해도 서브쿼리 안에서 ORDER BY 같은게 안되고 GROUP BY의 HAVING도 지원하지 않는다. 회사 팀원분께 여쭤본 결과, MAX라는 메소드로 가볍게 해결.. SELECT c.sk, MAX(c.TIME_STAMP), MIN(c.TIME_STAMP) FROM c WHERE c.TIME_STAMP > '2021-05-18T00:00:00.000Z' GROUP BY c.sk 감사합니다. 2021. 5. 18.
[C#] char 형식으로 반복문 돌리기 비도 오고 딱히 할 것도 없는 주말... C# 공부를 하려고 처음부터 문서를 보고 있었습니다. 언어마다 특성이 다르니 제가 모르는게 있을테니까요. 그래서 하나 발견해서 작성합니다. char 형식 ('a', 'b', 'c', 'd'...)으로 for문 돌리기... 글로만 보면 가능 할 듯 싶은데 지금까지 프로그래밍을 하면서 전혀 생각해 본 적이 없습니다. JS 개발자여서 그런가... 혹시 JS도 되는건가? 싶어서 확인해보니 안되는 것 같네요. https://docs.microsoft.com/ko-kr/dotnet/csharp/tour-of-csharp/tutorials/branches-and-loops?tutorial-step=5 분기 및 루프 - C# 소개 대화형 자습서 분기 및 루프에 대한 이 자습서에.. 2021. 5. 16.
[C#] List Sort List를 정렬해서 제일 최신의 정보만 뽑아내고 싶었다. https://docs.microsoft.com/ko-kr/dotnet/api/system.collections.generic.list-1.sort?view=net-5.0 List.Sort 메서드 (System.Collections.Generic) 지정된 또는 기본 IComparer 구현 또는 제공된 Comparison 대리자를 사용하여 List의 요소 또는 요소의 일부를 정렬하여 목록 요소를 비교합니다.Sorts the elements or a portion of the elements in the List u docs.microsoft.com 위 문서를 참조하여 List에서 여러 정보가 있을 때, TIME 만을 사용하여 정렬할 때. 리스트에서 .. 2021. 5. 13.
[Eclipse] java was started but returned exit code=1 에러 해결하는 방법 배경 java was started but returned exit code=1 위와 같은 에러가 발생했습니다. 해결 방법 이클립스 설치 폴더로 이동합니다. eclipse.ini 파일을 엽니다. -vm 이 있는지 확인합니다. 만약 없다면 추가합니다. Java 설치 폴더의 bin 폴더에서 javaw.exe를 찾습니다. javaw.exe의 경로를 eclipse.ini 파일의 -vm 아래에 적습니다. 위 방법을 따라했다면, 다음과 같이 작성해주세요. -vm C:\\Program Files\\Java\\jdk-16.0.1\\bin\\javaw.exe 변경 사항을 저장한 후, 이클립스를 다시 실행하면 문제가 해결됩니다. 결론 위와 같이 작성하고 저장한 뒤, 이클립스를 재실행하면 문제가 해결됩니다. 2021. 5. 4.