전체 글 266

부천 상동 대양온천랜드

오랜만에 찜질방에 왔다 스카이랜드를 가려다가 위메x에서 할인하길래 여기로옴 원래가격은 9000원이지만 4900으로오니 개꿀 시설은 쏘쏘 ​​ 매점 ​​ 저기 뒤쪽 콘센트있는곳이 명당인듯 ​​ 헬스장​​ ​ 마사지실 ​ 식당 ​ 잔치국수를 먹어봅니다 아쉬운점이 있다면 화장실과 흡연실은 찜질방에 없어서 계단으로 남탕이나 여탕으로 올라가야한다

life/info 2018.09.01

Spring @Validated 어노테이션 사용하기

@Validated 어노테이션은 JSR-303 스펙의 @Valid 어노테이션을 확장(?)한 스프링의 어노테이션이다. Bean validation을 하는데 추가로 group을 지정할 수 있다. @Validated에 group을 지정하면 bean에서 groups를 지정한 bean validation annotation만 동작하며@Validated에 group를 지정하지 않으면 bean에서도 groups를 지정하지 않은 bean validation annotation만 동작한다. 이것을 피하려면 javax.validation.groups.Default 를 groups에 함께 지정하면 된다.(group interface가 javax.validation.groups.Default 를 상속하는 방법도 있지만, 정상..

dev/java 2018.07.22

카카오 SDK android key hash 이슈

안드로이드에서 카카오 SDK 적용시 카카오 개발자 사이트에 안드로이드 키해시를 등록해야 한다. 그리고 키해시 구하는 방법은 개발가이드에 잘 설명되어 있다.https://developers.kakao.com/docs/android#%ED%82%A4%ED%95%B4%EC%8B%9C-%EB%93%B1%EB%A1%9D 그런데 이번에 SDK동작 이상으로 디버깅 하다보니 위 가이드에서 설명한 커맨드라인 방법과, 자바코드 방법의 결과가 다르다! [참고]커맨드라인으로 구하기keytool -exportcert -alias androiddebugkey -keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64자바코드로 구하기pu..

dev/android 2018.04.12

change maven local repository path

메이븐은 기본 레파지토리 경로는 ${user.home}/.m2/repository 인데, 이게 자꾸 용량이 거대해져서, 시스템 드라이브 용량이 부족하다. 그리하여 경로를 다른 드라이브로 변경하려고 한다. User Settings 파일 필요하다.경로는 ${user.home}/.m2/settings.xml 이다. {변경할 경로} 위와같이 작성을 해주면 된다. 경로는 .m2가 아니라, 그 하위 repository에 해당한다.

dev/java 2018.04.09

[Spring Boot] datasource bean not working

Config class에서 아래처럼 빈 설정을 하고 사용하다.@Bean @ConfigurationProperties("spring.datasource") public DataSource dataSource() { return DataSourceBuilder.create().build(); } dbcp를 변경하고 application.properties에 설정하였으나 jdbc url를 제대로 읽어들이지 못함 propertie를 자동으로 바인딩 해주고 datasource가 만들어질거라 예상했지만, 위 설정으로는 자동바인딩이 되지 않는다.(수동설정이 우선되므로 자동설정을 못하게 할뿐) 자동바인딩이 안되는 이유는 Builder에 setter가 없기 때문인것 같다.(자세한건 @ConfigurationPropert..

dev/web 2017.08.17

spring @ModelAttribute and @RequestBody

컨트롤러 request mapping시 인자로 객체를 받을 수 있는데 어노테이션이 헷갈린다. @ModelAttribute는 단순히 요청으로 들어온 parameter와 객체 빈의 멤버변수와 bind한다. 없으면 null@ModelAttribute 요청으로 들어온 bind된 object를 Model에 Attribute로 추가시켜준다. View에서 사용할 수 있도록model.addAttribute의 호출을 편하게 도와주는 역활 이부분이 어째서 구글링으로 혼선을 야기했는지는 모르겠다.필자도 헷갈렸다.ㅠㅠ아직 많이 부족하다. @RequestBody는 HttpMessageConverter 구현체를 거쳐서 받는다. 특정 객체에 대한 컨버터를 지정해주지 않으면 Unsupported Media Type이라고 나올것이다...

dev/web 2017.08.13