dev 133

[Troubleshooting] php-fpm 504 Gateway Time-out

nginx + php-fpm 조합으로 서버를 사용중인데, 갑자기 서버가 반응이 느려지더니 504 Gateway Time-out 발생함. /var/log/php-fpm/error.log를 확인하니 WARNING: [pool www] child xxxx said into stderr: "ERROR: Unable to set php_value 'soap.wsdl_cache_dir'" 라고 적혀있다. /etc/php-fpm.d/www.conf 를 열어보니 php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache 로 되어있다. 해당 경로로 가보니 단순한 권한 문제가 있어 보여서 수정했지만, 문제는 해결되지 않았다. session_start(); 에서 문제가 발생함을 확인..

dev/linux 2019.07.26

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