기본 콘텐츠로 건너뛰기

OData 에 대해서 알아보자.

댓글

  1. 좋은 자료 감사합니다!

    답글삭제
    답글
    1. 도움이 되셨기를 바랍니다. ^^
      오늘도 좋은 하루 되세요.

      삭제
  2. 저도 실무자인데 OData 를 parameter상에서 보기만 했을 뿐 "저게 뭘까" 하고는 한참이 지나서야 찾아보게 되었네요 덕분에 잘 배우고 갑니다

    좋은 포스팅 잘보고갑니다~

    답글삭제
  3. 상용 컴포넌트 사용하다 보게되어 찾다보니 여기까지 왔네요~ 너무 쉬운 설명으로 대략적으로나마 감이 오는 것 같습니다.

    감사합니다!

    답글삭제
  4. 좋은글 너무 잘 보고 갑니다 ! 감사합니다.

    답글삭제
  5. 좋은글 잘 보고 갑니다!

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

[Java] Divide by Zero 예외는 항상 발생할까?

Divide by Zero === Exception?? Really? 흔히 산술연산을 처리할 때 0으로 나누면 Divide by Zero Exception 이 발생한다고 알고 있다. 실제 연산 샘플을 구성해 봐도 실제 Exception 이 발생한다. public static void main (String[] args) throws java.lang.Exception { int aa = 100 / 0; } 위의 코드는 Exception in thread "main" java.lang.ArithmeticException: / by zero 예외가 발생한다. 정말 모든 산술 연산이 이렇게 적용될까??? Really?? 책이나 관련된 정보를 찾아보면 보통 정수를 0으로 나누면 이라는 전제 조건이 있다. 그럼 정수가 아닌 경우는 어떻게 될까? 0 이 아닌 부동 소수점 값을 0 으로 나누면 부호 있는 Infinity 가 되고 예외는 발생하지 않는다. 1.0 / 0.0 은 Positive-Infinity 가 된다. -1.0 / 0.0 은 Negative-Infinity 가 된다. 0 이 아닌 정수를 정수 0 으로 나누면 ArithmeticException 이 발생한다. 음!! 위와 같이 정리할 수 있다. 그런데 0.0 / 0.0 은 뭐가 나올까? 결론은 isNaN 상태가 된다. 즉, 연산 불가라고 봐야 한다. 이런 상황은 실제 변수나 VO 등에 Assign 할 경우에는 예외가 없으니 큰 문제가 없지만 JSON 으로 변환하는 등의 작업을 진행하면 뜬금없이 "Infinity", "isNaN" 과 같은 값을 만나게 된다. 어디서 저런 값이 나오는지 모르겠다. 내가 만든 코드에서는 문자열 처리한 적이 없다. 문자열이 Float, Double,.. 등의 자료형에 입력되면 오류가 발생하기 때문에 내가 만든 코드 문제가 아니다. ... 대략 이런 반응들이 나올 듯 하다. ㅠㅠ 그럼 아래과 같은 코드는

C# 에서 Timer 사용할 때 주의할 점.

예전에 알고 지내시던 분의 질문을 받았다. Windows Forms 개발을 하는데, 주기적 (대략 1분)으로 데이터 요청을 하는 프로그램을 작성하기 위해서 Timer 를 사용하는데, 어떤 기능을 처리해야 하기 때문에 Sleep 을 같이 사용했다고 한다. 여기서 발생하는 문제는 Sleep 5초를 주었더니, Timer 까지 5초 동안 멈춘다는 것이다. Timer 라는 것은 기본적으로 시간의 흐름을 측정하는 기능이기 때문에 Sleep 을 했다고 해서 Timer 가 멈추는 일은 생겨서는 안된다. 그러나 실제 샘플을 만들어 보면 ... Timer 가 Sleep 만큼 동작이 멈추는 것을 확인할 수 있다. Windows Forms 는 UI Thread 를 사용하는 것으로 최적화 되어 있으며 여기서 Timer 를 쓰면 UI Thread 에 최적화된 System.Windows.Forms.Timer 가 사용된다. 여기서 문제의 발생이 시작되는 것이다. Sleep 을 사용하게 되면 UI Thread 가 Sleep 이 걸리기 때문에 여기에 속한 Timer 까지도 멈추는 것이다. 이런 문제를 해결하기 위해서는 System.Threading.Timer 를 사용해야 한다. 이 Timer 는 별도의 Thread 에서 동작하기 때문에 Sleep 의 영향을 받지 않는다. 언뜻 보면 쉬운 해결 방법인 것 같지만 Thread 가 분리되었기 때문에 Timer 가 돌아가는 Thread 에서 UI Thread 의 메서드나 컨트롤에 접근하기 위해서는 별도의 명령을 사용해야 하는 문제가 존재한다. 자~ 그럼 여기서 Timer 에 대해서 다시 한번 정리해 보도록 하자. .NET 에서 제공하는 Timer 들 .NET 에서는 기본적으로 3가지 Timer를 제공하고 있다. (MSDN) System.Windows.Forms.Timer - 사용자가 지정한 간격마다 이벤트를 발생시키며 Windows Forms 응용 프로그램에서 사용할 수 있도록 최적화 되어 있다. System