전체 글
-
[STS] Problems During Content Assist 오류Java/IDE 2016. 12. 23. 00:59
STS 3.8.3 버전을 설치하고 Annotation의 자동완성 기능을 사용하려고Ctrl + Space 키를 눌렀는데, 한참 멈추다가 다음과 같은 에러가 발생 했다! 왠만해서는 이런 일이 발생하지 않았는데, 왠걸.구글링을 해봤는데, Mylyn을 지워라, codeAssistTimeout 시간을 길게 설정 해라 등이 나왔지만 다 실패.Preferences - Java - Editor - Code Assist - Advanced 에서 Code Recommenders의 체크박스를 해제하라는 글이 있었지만 게시글의 STS가 예전 것이라 메뉴가 없는가보다 하고 패스. 그러나 다 안되서 다시 돌아와 생각해보니 메뉴 이름과 아이콘이 바뀌었다 판단, 아래와 같이 메뉴 체크박스를 변경하였다. 기존 - JavaProposa..
-
[Eclipse] Debugging 시에 속도가 느려지는 현상Java/IDE 2016. 7. 31. 22:10
이클립스에서 Debug모드로 breakpoint를 여러군데 바꿔가면서 찍어보고 하다보면갑자기 비정상적으로 디버그모드에서만 속도가 느려질 때가 있다.(그냥 Run은 정상속도) 구글링을 해보니 간단한 방법이 있었다.break point를 다 지워보라는 것이다. 1. Debug모드 아이콘 클릭2. break point 탭 클릭3. Remove All 아이콘 클릭4. 지울꺼냐는 confirm창에서 Yes 클릭5. breakpoint들이 모두 사라진 것 확인 이렇게 하면 거짓말처럼 다시 debug모드의 속도가 원래 속도로 돌아오게 된다. (출처1: http://stackoverflow.com/questions/4591187/running-a-program-in-debug-mode-is-incredible-slow..
-
org.apache.tomcat.websocket.WsWebSocketContainer cannot be cast to io.undertow.websockets.jsr.ServerWebSocketContainerJava/Spring Framework 2016. 7. 25. 23:02
스프링부트책으로 따라하던 중 REST API 서버 실행시 에러가 났다. Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is java.lang.ClassCastException: org.apache.tomcat.websocket.WsWebSocketContainer cannot be cast to io.undertow.websockets.jsr.ServerWebSocketContainer 구글링을 해보니 2가지 정도 방법이 있다. 1) pom.xml에서 undertow 제거 기본 maven 프로젝트 생성시 추가..
-
객체지향의 사실과 오해: 역할, 책임, 협력 관점에서 본 객체지향후기/Book Review 2016. 7. 24. 23:52
1주일간 재미있게 본 책이다. 작가님은 객체지향세계가 현실세계의 은유라고 표현 했듯이, 책의 내용도 이상한 나라의 엘리스와 커피 주문의 은유로 풀어내었다. 구체적인 코드는 마지막 장에만 나와(그나마도 상세하지 않아) 자바 개발자에게만 한정된 것이 아닌, 객체지향 언어를 사용하는 누구라도 보면 좋을 책이다. 개념의 세가지 관점인 심볼, 외연, 내연 등은 처음 들어보는 말이었는데, 혹시 내가 이미 알고 있는 다른 개념과 같은 것인지 궁금하다. 가장 생각에 남는 것은 '객체들은 자율적인 존재'라는 것과 '메시지를 통한 객체들간의 협력' 부분이다. 자바를 어느정도 써온 입장이기에 이야기들이 대충 머릿속 코드로 그려지면서 이해가 되었다. 객체지향언어에 이제 입문하거나 경험이 없는 사람이라면 조금 어렵지 않을까 싶..
-
[Eclipse] 실행시 저장 후 실행 설정Java/IDE 2016. 7. 21. 22:28
이클립스에서 실행(Alt + Shift + J 혹은 Alt + Shift T 등)을 하면기본값이 다음과 같이 Prompt창이 뜨는 것이다. 예전에는 이걸 계속 기본으로 해놓고 썼는데 굳이 그럴 필요가 없을 것 같아서 항상 '저장 후 실행'하는 옵션으로 바꾸고 쓰고 있다. 그런데 가끔 저장되지 않고 실행되거나 하는 경우가 있어서 설정하는 방법을 적어둔다. Window - Preferences - Run/Debug -Launching까지 누르면오른쪽 첫번째줄 Save required dirty editors before launching에서 3개 중 선택하면 된다. Always는 항상 저장 후 실행,Never는 저장 하지 않고 실행,Prompt는 위의 스크린샷처럼 물어보고 실행
-
[Java7] try-with-resourcesJava/기본 2016. 7. 21. 21:55
스프링부트 책을 보다가 알게된 기능이다. 이런게 있는지 왜 이제야 알게된걸까 ㅋㅋ... BufferedReader나 JDBC 등을 미리 선언 후 try에서 자원을 할당하고 finally로 null 이 아니면 닫아주는 형식의 코드를 작성하였다. 코드도 길뿐 아니라 깔끔해보이지 않고 무의식적으로 적는 부분이다. 하지만 try-with-resources를 사용하면 try에 바로 자원 할당 후 try가 끝나면 알아서 자원해제. 참고로 catch에 들어가기 전에 이미 다 close를 한다고 한다. 이런 코드가 이렇게 변한다. (출처: http://stackoverflow.com/questions/17650970/am-i-using-the-java-7-try-with-resources-correctly)
-
[Spring]Annotation: @Autowired와 @ResourceJava/Spring Framework 2016. 7. 3. 18:37
@Autowired와 @Resource는같은 기능을 하는 어노테이션이다. 하지만 둘에는 차이점이 존재한다. 1. @Autowired는 스프링 프레임워크 어노테이션이다. 그렇기 때문에 스프링을 사용하지 않는 환경에서는 @Resource를 사용해야 한다. 2. @Autowired의 경우 type과 id 가운데 매칭 우선순위는 type이 높다. @Resource는 그 반대. 표로 정리하면 다음과 같다. @Autowired @Resourece 출처(스펙) 스프링 프레임워크 표준 자바 소속 패키지 org.springframework.beans.factory.annotation.Autowired javax.annotation.Resource 빈 검색 방식 byType 먼저. 못 찾으면 byName byName 먼저..