목록분류 전체보기 (199)
일모도원(日暮途遠) 개발자
아래와 같은 오류를 만났다. Mapped Statements collection does not contain value for voMapper.getIctTermByID "Mapped Statements collection does not contain value for" 오류는 매퍼.xml에 해당되는 ID가 없기 때문에 발생하는 오류이다. 나의 경우는 ID가 대소문자가 서로 달라서 난 오류이다. Java파일 vo = sqlSession.selectOne("voMapper.getIctTermByID", map); Mapper파일
내부 클래스에서 외부 클래스의 메소드를 부를때는 그냥 메소드명으로 부르면 된다. 하지만 같은 이름의 메소드가 내부/외부에 같이 있을때는 그냥 메소드명으로 부르면 내부 클래스의 메소드가 호출된다. 외부 클래스의 메소드를 호출하기 위해서는 "외부클래스명.this.메소드명"으로 호출해야 한다. 즉 Outer.this.show() 이런씩으로 내부 클래스내에서 호출하면 외부 클래스인 Outer클래스의 show메소드가 호출된다. class Outer { void show() { System.out.println("outter show"); } class Inner{ void show() { System.out.println("inner show"); } void myMethod() { show(); //"inner..
잘되던 소스코드를 조금 수정하고 나니 아래와 같은 에러가 뜬다. 구글링 해보니 엑셀레이터 관련 오류라고 하는데, 난 다른 케이스 였다. A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x804 in tid 17153 (msoft.aradiceng), pid 17153 (msoft.aradiceng) 에러가 나는 지점은 이 코드인데, try로 감싼 코드인데도 catch가 잡아내지 못한다. (Speech To Text 오픈소스인 VOSK를 사용하는 코드임) Recognizer rec = new Recognizer(currentModel, 16000.0f); 수정할때 버그로 저 "currentModel"을 초기화를 못해서 null이 되..
기존에는 text에 색상등을 줄려면 HTML을 활용해서 했지만, 요즘은 Span을 사용하여 텍스트에 색상 표시, 텍스트를 클릭 가능하게등을 할수 있다. 스팬을 사용할려면 아래 3개 클래스중 하나를 사용하면 된다. SpannedString 텍스트 또는 마크업이 읽기 전용이면(변경하지 않는다면). 개발자는 이 클래스를 직접 사용하지는 않는거 같다. textview에 setText시 span이 적용된 클래스(SpannableString, SpannableStringBuilder)를 넘겨주면, 이걸 받을때 복사본을 SpannedString으로 만든다고 한다. 그래서 텍스트나 스팬을 업데이트해야 할 경우 SpannedString는 텍스트와 스팬은 변경할 수 없으므로 새로운 Spannable 객체를 만들고 setT..
텍스트의 색상을 변경할때 Span을 사용하는데, setSpan메소드를 보면 flags라는게 있다. public void setSpan(Object what, int start, int end, int flags) { 이 flags에는 많은 값들이 있는데 다음과 같이 비슷하게 생긴것들이 있다. https://developer.android.com/reference/android/text/Spanned?hl=ko Spannable.SPAN_INCLUSIVE_INCLUSIVE Spannable.SPAN_INCLUSIVE_EXCLUSIVE Spannable.SPAN_EXCLUSIVE_EXCLUSIVE Spannable.SPAN_EXCLUSIVE_INCLUSIVE 이 flags들은 span을 적용할 텍스트가 변경..
간만에 소스를 여니 어떤 XML은 아래처럼 뷰가 보이지 않는다. 어떤 뷰는 스패너아이콘을 눌러보니 보이는 경우가 있는데, 어떤 뷰는 스패너도 효과가 없다. 아래가 스패너 아이콘이다. (Toggle tools visibility and position) 우상단에 Design 밑에 있는 느낌표를 클릭해보면 아래처럼 뷰에 대한 워닝과 "Failed to instantiate one or more classes"라는 문구가 나온다. "Failed to instantiate one or more classes"를 눌러보면 아래처럼 메시지를 보여준다. 내 경우는 메시지에 있는 build the project를 클릭하고 다시 refresh the layout를 클릭하니 정상적으로 보였는데, 얼마후 다시 같은 증세가 ..
디버드모드와 디버그 모드가 아닌것(보통은 릴리즈모드)를 구분하는것은 Build Settings의 Preprocessor Macros를 보면 알수 있다. (가끔 GCC_PREPROCESSOR_DEFINITIONS라는 말도 쓰는데 이는 Preprocessor Macros는 같은걸 말한다.) Macro를 정의하는값은 최종적으로 Resolved에 있는것이 사용된다. Macro는 여러곳에서 정의할수 있는데, 그 순서는 다음과 같다. Resolved
오랜만에 스프링 소스를 열어보니, 컴파일이 안되서, 톰캣다시 깔았는데 여전히 실행이 안되어서 코드를 보니까 아래처럼 getter들에 에러가 있는것을 보았다. 해당 모델로 가보니 getter를 따로 만들어주지 않고, 롬복(@Data)을 이용하고 있었다는게 기억이 났다. @Data public class DTO_INPUT_IN_APP_POINT { protected Integer UID = 0; protected String EMAIL = ""; protected Integer POINT = 0; protected Integer IN_APP_POINT_TYPE = Constants.IN_APP_POINT_TYPE_READING; } 부랴 부랴 롬복을 다시 설치했는데도 여전히 에러가 보이길래 이클립스를 리스타..