컴퓨터 이야기

Maven 빌드시 TLS 오류 발생

JoonHo Son
회사 테스트용 PC에서 빌드중 에러가 발생하였다. PC 환경은 다음과 같다. Windows 10 Pro x64 JDK 1.7(1.7.0_80-b15) Maven 3(3.6.3) 내 랩탑(MBPR 2018)에서는 잘 되는데 테스트용 PC에서 빌드하니 다음과 같은 에러가 발생했다. << maven goal 실행 오류 >> 해당 오류는 Java 1.8 버전에는 TLS 프로토콜의 기본 버전이 1.2인 반면 이전 Java(1.7, 1.6 등)는 TLS 프로토콜의 버전이 1.0이어서 발생한 오류라고 한다(참고). 따라서 maven 실행시 다음과 같은 옵션을 지정하여야 한다. $ mvn -Dhttps.protocols=TLSv1.2 [clean | package .

Tableplus에서 복원시 인코딩이 깨질 경우

JoonHo Son
파일 자체는 UTF-8로 정상적으로 작성되었지만, 이상하게 TablePlus에서 복원을 시키면 깨지더라. 파일에는 단순 insert 쿼리만 들어있었다. 혹시나 하는 마음에 복원하는 화면에서 옵션 --default-character-set=utf8을 넣으니까 정상 작동되었다. << TablePlus에서 복원하는 화면 >>

JPA + Hibernate에서 DDL script 파일로 저장하기

JoonHo Son
JPA를 사용할 때부터 계속 하려고 했던건데, 이번에 소기의 목적에서 아주 일부분은 달성하여 진행했던 과정을 기록차원에서 남긴다. 선요약 지정한 패키지의 @Entity annotation이 선언된 클래스를 검색하여 DDL script를 파일로 생성한다. DDL script 생성시 column comment도 함께 생성한다(제일 고민을 많이 함). @Embedded annotation이 달린 항목도 comment를 생성한다. TODO Table comment 추가 Embedded 순환 처리 구현부 작업의 흐름 우선 Reflections을 이용하여 지정한 package안에 존재하는 클래스 중 @Entity annotation이 선언된 클래스를 검색한다. 검색된 클래스 목록에서 클래스내에 정의된 Field를 추출한다.

macOS + IntelliJ + Tomcat8 + ehcache 구동시 오류 발생

JoonHo Son
이게, 윈도우에서 동일한 환경으로 구동시킬때는 발생하지 않았다. 오류 메세지는 다음과 같다. net.sf.ehcache.distribution.MulticastRMICacheManagerPeerProvider: Error starting heartbeat. Error was: Can’t assign requested address << 오류 로그 >> 이직한 회사에서 약간 희안한 구조의 maven으로 프로젝트를 진행하길래… 적응하려고 노력중에 발생한 오류(이 프로젝트에서 ehcache를 쓰지를 않는다. 😑) 동일한 개발환경에 운영체제만 윈도우인 회사랩탑에서는 발생하지 않아 오류 메세지를 보고 뭔가 느낌이 와서 검색해보니… IPv6로 인식이 되서 발생하는 문제이더라. 아마 *NIX 계열의 운영체제에서는 동일한 상황이 발생하지 않을까 싶다.

드디어 도착!

JoonHo Son
작년 11월 경에 indiegogo를 통해 주문했던 키보드가 드디어 도착을 했다. 그동안 말도 많고(댓글이 한동안 폭주 했었다) 탈도 많았는데… 어제 발송했다는 Vinpok측의 메일을 받고 빠르면 다음주 초에 받겠구나 싶었는데… 오늘 회의하는데 택배 기사분의 전화를 받고 너무 좋았다. 아… 주문하고 약간의 후회를 했던 오른쪽 shift키가… 실제로 보니 오타가 장난 아니네. 적응 하려면 시간이 꽤 걸 << 포장 박스 >> << 포장 박스 >> << 포장 박스 >> << 구성품 >> << 키보드 >> << 아&hellip; shift키가&hellip; >>

macOS에서 pyenv로 python 설치시 오류 발생

JoonHo Son
<< 현재 사용 중인 macOS 버전 >> 현재 내가 사용하고 있는 MBPR의 macOS 버전은 10.14.4(베타)이다. 개인 작업을 하려고 pyenv로 python 3.7.2 버전을 설치하려고 하니 다음과 같은 오류가 발생했다. $ pyenv install 3.7.2 python-build: use openssl from homebrew python-build: use readline from homebrew ...(에러) zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1 글링을 해보니 macOS 10.14(Mojave)에서 발생하는 오류로 pyenv issue로 등록이 되었다고 한다. 원인은 Xcode 10부터는 Command line tools에서 /include에 헤더파일을 설치하지 않아서 발생한다고 한다.

maven test시 권한(permission) 문제

JoonHo Son
maven test 진행시 test case중 shell script를 실행해서 결과를 비교해야 하는 로직이 있었는데, IDE가 아닌 일반 콘솔(terminal, iterm 등)에서 mvn test 실행시 다음과 같은 오류가 발생했다(IntelliJ 등의 IDE를 사용하는 경우에는 발생하지 않았음). 증상은 test/resources/script 폴더에 있는 shell script의 실행 권한이 test 진행시 target 폴더로 복사되면서 퍼미션(permission)이 변경되는 현상이었다. << 테스트 패키지 구조 >> << 오류메세지 >> << 디렉토리 권한 >> 해당 문제는 이미 maven 이슈로 보고된 상태(close 됐다가 다시 reopen 되었음)이며 구글링을 통해 maven-antrun-plugin을 이용하여 해결하였다.

재미

JoonHo Son
Java Reflection을 이용해서 머리에 김나도록 고민하고 코딩하고 있다. 재밌네. 간만에 머리 쓰니까… 그런데 역시 멀티가 안되나보다. 블로깅 앱 만든답시고 한 달 가까이 몰두 했었는데, 마지막 커밋한게 언제인지…

EmberJS의 component에서 transition 처리 하기

JoonHo Son
출처: stackoverflow // component.js import Ember from 'ember'; export default Ember.Component.extend({ actions: { submit: function () { this.get('router').transitionTo('some.target.route.name'); } } }); // initializer.js export function initialize(application) { application.inject('component', 'router', 'router:main'); }; export default { name: 'component-router-inject', initialize: initialize };