Software Develop/문제해결 4

[C#] DataGrid로 DataTable 출력시 일부 cell이 없어지는 경우

배경 DataGrid는 ItemsSource로 DataTable을 받아 아주 편리하게 Table을 화면에 나타내준다. 이를 이용하여 파일을 읽고 파일을 DataTable로 만들어 DataGrid를 통해 화면에 나타내는 기능을 개발하고 적용하였다. 잘 적용되었으리라 생각하고 일상을 지내던 와중에 몇몇 cell의 내용이 누락되고 있다는 것을 알게 되었다. 원인 먼저 아래와 같이 원인을 파악하고자 했다. 1. 파일을 읽어서 생성된 데이터가 정상적인가? 2. 정상 데이터를 통해 만들어낸 DataTable의 내용이 정상인가? (Column, Row, Cell) 먼저, 파일을 읽는 모듈을 살펴보았다. 정상적으로 읽어오고 정상적으로 객체를 생성하고 있었다. 그 다음으로 DataTable을 만들어 출력되지 않는 cel..

[C#] FileNotFoundException 발생

배경 최근 회사에서 여러 제품에서 공통으로 참조해서 사용하기 위해서 유틸리성의 공용 다이얼로그 프로젝트를 만들었다. 별도의 프로젝트로 테스트코드까지 작성하여 완성시킨 뒤, 현재 제품에 적용하는 중에 FileNotFoundException가 발생하였다. 회사에서 업무를 진행하다가 종종 발생하는 Exception이나 그 동안 해결 방법을 기록해두지 않아 10~20분을 구글링을 하게 되었다. 다음에 같은 상황이 발생했을 때 해결 시간을 1~2분으로 축소하기 위해 이렇게 기록해두려 한다. 원인 회사내의 프로젝트간 참조 구조는 간단하게 위와 같이 나타낼 수 있다. ProjectA는 솔루션의 메인 프로젝트로서 실질적인 프로그램의 실행을 담당한다. ProjectB의 경우는 ProjectA에서 호출할 프로그램의 기능들..

[JavaScript] CORS (Cross Origin Resource Sharing) 에러

배경 XMLHttpRequest를 이용하여 Json 파일을 읽어 들이는 기능 개발시 구현 확인을 위한 실행시 CORS와 관련된 오류가 발생하였다. 원인 CORS ? CORS(Cross Origin Resource Sharing)는 교차 출처 리소스 공유이다. 이는 브라우저에서 발생하는 에러이다. 브라우저는 동일 출처 정책(Same Origin Policy)를 지키며 운용되고 있는데, 이 정책에는 다른 출처의 리소스 접근을 금지하고 있다. 해결 필자는 보통 Chrome 브라우저를 사용한다. JavaScript를 공부할 때에도 자연스럽게 Chrome 브라우저를 사용하여 결과를 확인하고 있다. 아래에는 Chrome 브라우저를 사용시 CORS 에러를 해결하는 방법이다. Chrome 브라우저 설정 변경 Chrom..

[VisualStudio] Visual Studio 중단점 (Break Point)

배경 중단점 (Break Point) 회사에서의 개발은 CAD를 다루기 때문에 자주 Visual Studio의 중단점 기능을 사용하곤 한다. 주로 Geometry 데이터의 값에 대한 수치, 계산 등의 값 확인을 위해서다. 오늘 CAD가 정상적으로 그려지지 않아 이에 대한 원인을 파악하려고 여기저기 중단점을 찍어 값을 확인했다. 해당 문제를 해결하고자 테스트 코드도 작성하고 수많은 형상 정보 중 특정 형상을 확인하기 위한 로직도 덧붙였다. 생각보다 쉽게 문제를 찾았고 이를 찾기 위해 작성했던 로직들을 지우기 위해 모든 브런치를 develop으로 강제 checkout을 하고 작업물을 git에 올리려 했다. 새로 Branch를 생성하여 내용을 수정한 뒤, 마지막으로 정상 동작 여부를 확인하고자 프로그램을 실행..