본문 바로가기

프로그래밍

Eclipse에서 Darkest Dark Theme 적용 후 추가로 해줄것 Eclipse에서 Darkest Dark Theme 적용 후 Git과 연동하면서 색상이 보기 흉하게 바뀌는 상황이 있었다. 이유는 Git으로 파일 관리를 하면서 파일의 상태가 바뀌었을때 이에 대해 표현하는 방법때문이었다. 예를 들면 파일을 수정할 경우 Commit이 아직은 안되어 있는 상태이기 때문에 Uncommited 인데 이때 이 자원을 나타내는 background 색상이 흰색으로 설정되어 있어서 전체적으로 검은색 테마에서 배경색을 흰색으로 주다보니 어울리지 않아 보기 싫은 상황이 생겼다. 암튼 Darkest Dark Theme를 사용하면서 배경색이 흰 색으로 되어 있는 부분은 튀어 보이는 상황이 벌어지는 것이 있는데 일단 예를 들은 경우를 수정할려면..(차후에 이런 상황들이 또 일어나면 여기에 정리..
Eclipse와 Github 연동(2) - github에서 프로젝트 받기 지난 글에서는 Eclipse와 git을 사용해서 github에 자신이 만든 프로젝트를 올리는 방법에 대해 설명했다. 이번엔 그 반대의 상황으로 github에 올라와 있는 프로젝트를 자신의 eclipse workspace로 받는 방법에 대해 설명하고자 한다. 환경은 지난글과 동일한 환경이어서 환경에 대한 얘기는 생략하기로 하겠다. 대신 지난번 글을 보고 그대로 따라한 상황에서 이번 글을 보고 그대로 따라하고 싶으시다면 지난번 글에 올라간 자신의 프로젝트를 eclipse workspace에서 삭제해주길 바란다. 이번 글로 설명할때 프로젝트가 자신의 workspace에는 없다는 가정에서 할 것이기 때문에 eclipse workspace에 등록되어 있는 github 에 등록된 자신의 프로젝트를 삭제하고 진행하길..
Eclipse와 Github 연동(1) - 프로젝트를 github에 올리기 개인적으로 eclipse와 github을 연동하면서 싫어하는 상황이 하나 있다. 그것은 Eclipse에서 git을 사용하려면 local repository 디렉토리를 설정해야 하는데 연동을 하게 되면 연동된 프로젝트들이 모두 local repository 디렉토리 밑으로 들어가게 되어서 실제로는 프로젝트 소스가 eclipse의 workspace에 존재하지 않게 된다. 이렇게 될 경우 동일한 workspace에 존재하는 여러 프로젝트들 중 git으로 공유되지 않은 프로젝트는 workspace 디렉토리에 있지만 디스크에 2군데에 존재하는 상황이 벌어진다. 이점에 있어서는 IntelliJ 가 잘되어 있는게 IntelliJ의 경우는 local repository를 특정 디렉토리로 설정하는 것이 아니라 공유 대상..
Xplatform과 Spring Framework 연동 템플릿으로 보는 HandlerMethodArgumentResolver와 ViewResolver (10) - 예외처리 이번 글은 이 연재의 마지막으로 해당 템플릿에서의 예외처리에 대해 설명하도록 하겠다. 우리가 만든 Spring Application에서는 이런저런 이유로 예외가 발생할 수 있다. 비즈니스적인 로직으로 인해 발생하는 예외도 있고 Runtime 예외도 있다. 예외가 발생할 경우 try-catch를 이용해서 발생시점에서 해당 예외에 대한 처리를 할 수 있지만 비즈니스적으로 이러한 예외처리를 해야 하는게 아니라면 발생된 예외는 호출한 곳으로 계속 던져지게 된다. 단계별로 예외가 계속 던져지게 되면 최종적으로는 Controller 까지 도달하게 되며 Controller에서도 예외 처리를 안하게 되면 Controller 에서는 다시 예외를 던져서 Spring에서 정해져있는 ExceptionResolver 객체에서 ..
Xplatform과 Spring Framework 연동 템플릿으로 보는 HandlerMethodArgumentResolver와 ViewResolver (9) - XplatformView 분석 이전 글까지는 Xplatform에서 넘어온 DataSetList과 VariableList를 Controller의 메소드 파라미터에서 자바 객체로 변환해주는 HandlerArgumentResolver 인터페이스 구현 클래스에 대해 설명했다. 지금까지의 내용이 Xplatform에서 넘어온 데이터들을 Spring에서 사용하기 위해 적절하게 데이터를 변환한 작업이었고 지금부터 설명한 내용은 Spring에서 나온 데이터를 Xplatform에서 사용가능한 데이터로 변환하는 작업에 대해 설명하고자 한다. 이해를 돕기 위해 설명하자면 자바에서 제공하는 List 객체로 나온 결과물을 Xplatform에서 제공하는 DataSet 클래스 객체로 변환하는 것이다. 이 부분에서도 또한 Java의 Reflection 기능을 사용..
Xplatform과 Spring Framework 연동 템플릿으로 보는 HandlerMethodArgumentResolver와 ViewResolver (8) - HandlerMethodArgumentResolver 분석(4) 저번 글에서는 HandlerMethodArgumentResolver 인터페이스를 구현한 클래스인 XplatformArgumentResovler 클래스에서 @RequestDataSet 어노테이션이 붙었을 경우에 대한 처리를 설명했다. 이제 3개의 어노테이션 중 마지막인 @RequestVariable 어노테이션에 대한 설명을 하도록 하겠다. 먼저 이 부분에 대한 전체적인 골격에 대한 설명을 하도록 하겠다 else if(annotationClass.equals(RequestVariable.class)) {// @RequestVariable 어노테이션에 대한 처리 RequestVariable requestVariable = (RequestVariable)annotation; String variableName ..
Xplatform과 Spring Framework 연동 템플릿으로 보는 HandlerMethodArgumentResolver와 ViewResolver (7) - HandlerMethodArgumentResolver 분석(3) 저번 글에서는 @DataSet 어노테이션을 이용해서 DataSet 객체를 사용자가 지정한 파라미터 타입으로의 변환에 대한 대강의 윤곽을 잡았다. 약간 요약식으로 여기서 다시 한번 언급한다면 DataSet에 저장되어 있는 insert-update, delete 레코드들을 각각 변환시키는데 이때 사용자가 Collection 인터페이스 계얄 타입으로 파라미터를 설정했는지 확인해서 그 내부에 정의한 Generic 클래스 타입으로 변환한다고까지 얘기했었다. 다만 저번글에서는 이 변환 부분에 대해 구체적인 설명을 하진 않고 XplatformReflectionUtils 클래스에서 정의한 staric 메소드들을 사용하는 것으로 설명했다. 이번글은 이 static 메소드들에 대한 구체적인 설명을 진행해보고자 한다. 이 ..
Xplatform과 Spring Framework 연동 템플릿으로 보는 HandlerMethodArgumentResolver와 ViewResolver (6) - HandlerMethodArgumentResolver 분석(2) 저번 글에서는 HandlerMethodArgumentResolver 인터페이스에서 구현해야 하는 메소드에 대한 설명과 Xplatform 연동 템플릿에서 이 인터페이스를 구현한 클래스에 대한 설명을 진행했다. 저번 글로 설명이 모두 완료가 된것은 아니다. 이 템플릿에서 사용하는 어노테이션 3개 중 @RequestDataSetList 어노테이션에 대한 부분만 설명이 왼료되었다. 이번 글에서는 HandlerMethodArgumentResolver 인터페이스를 구현한 클래스에서 @RequestDataSet 어노테이션에 대한 처리를 설명하고자 한다. 예전 글에서도 언급했듯이 @RequestDataSet 어노테이션은 Xplatform Client가 서버에 전송한 DataSet 중에서 이 어노테이션에 설정한 Da..