본문 바로가기

전체 글

AXBoot-WildFly 9을 사용할 때의 JWTSessionHandler 문제 com.chequer.axboot.admin.utils.JWTSessionHandler는 javax.xml.bind.DatatypeConverter 클래스를 이용하여 BASE64 인코딩/디코딩을 수행합니다. 그런데 WildFly 9 버전의 경우에는 문제가 있습니다. WildFly 9은 JDK의 DatatypeConverter를 사용하는게 아니라 별도의 내장된 버전을 사용하기 때문입니다.좀 더 정확하게는 wildfly-9.0.2.Final/modules/system/layers/base/javax/xml/bind/api/main/jboss-jaxb-api_2.2_spec-1.0.4.Final.jar 파일에 포함된 것을 사용합니다.이 버전은 URL-safe 하지 않은 인코딩을 수행하기 때문에 쿠키를 이용한 .. 더보기
맥 OS(OSX)에서 생성한 파일 이름을 윈도(Windows)에 맞게 변경 크롬(Chrome) 이나 파이어폭스(Firefox) 브라우저를 이용하는 방법이다. 크롬(혹은 파이어폭스)에서 F12 키를 누르면 개발자 도구 가 나타난다. Console 탭을 클릭해서 이동한 후, 빈 곳을 클릭하면 입력 가능한 상태가 된다. 이곳에 파일명 문자열을 붙여넣고 따옴표로 감싼다. 그리고 바로 뒤에 .normalize() 를 붙여준다. 아래의 예와 같이 넣으면 된다."ㅅㅏㅇㅓㅂㄱㅖㅎㅗㅣㄱㅅㅓ ㅅㅔㅂㅜ.hwp".normalize()이제 엔터키를 치면 바로 아랫줄에 동일한 문자열이 나오는데 이를 복사해서 사용하면 된다. 만약 OSX 형식으로 다시 변경하고 싶으면 아래와 같이 괄호 안에 NFD 를 추가해서 실행한다."사업계획서 세부.hwp".normalize("NFD")사실 이 방법은 JavaScri.. 더보기
Chrome - 캐시에 있는 이미지 저장 Chrome 브라우저의 캐시에 있는 이미지를 저장해야 할 때가 있다. 나의 경우, 주로 지금 보고 있는 웹페이지에 있는 다량의 이미지를 다운로드 하고 싶은 경우다.아래 링크의 ChromeCacheView 를 다운로드 받아서 사용하면 된다.ChromeCacheView 홈페이지 ChromeCacheView 다운로드한글로 사용하고 싶으면, 아래 링크의 한글 언어 파일을 받아서 ChromeCacheView 실행 파일과 동일한 폴더에 두면 된다.한글 언어팩 다운로드ChromeCacheView 를 실행하면 캐시에 있는 파일의 목록이 주르륵 나온다. 목록에서 저장을 원하는 파일을 선택한 다음에 File > Copy Selected Cache Files To... 메뉴를 클릭하거나, 툴바의 세번째 버튼을 클릭하면 원하.. 더보기
AXBoot Framework - war 파일 형태로 실행 AXBoot Initialzr 로 생성한 프로젝트는 war 파일 형태로 바로 실행이 안된다. 안되길래 그냥 프로젝트 루트에서 $ mvn spring-boot:run 으로 실행했었는데, war 만 배포해서 실행할 일이 생겼다.원인을 찾아보니 별일은 아니었다. 아래와 같이 Spring Boot Maven Plugin 을 pom.xml 의 plugins 부분에 추가하면 된다. 4.0.0 org.springframework.boot spring-boot-maven-plugin 1.5.7.RELEASE repackage 위 코드는 아래의 Spring Boot 공식 문서에서 가져온 것이다.Spring Boot Maven plugin자세한 설명은 가서 보시길. EOF 더보기
Vagrant Share를 이용하여 외부에서 사내의 웹 서비스에 접속 외부의 고객에게 현재 개발 중인 웹 서비스 상태를 보여 줄 일이 가끔 있습니다. 이럴 때 내 랩탑의 Vagrant Box를 사외에서 접근하도록 할 수 있다면 꽤 편리할 겁니다.실제로 Vagrant Share라는 기능을 이용하면 이렇게 할 수 있습니다. 꽤 간편하죠.한 번 해 봅시다.우선 아래와 같은 Vagrantfile과 provision.sh 파일을 만듭니다.VagrantfileVagrant.configure(2) do |config| config.vm.box = "hashicorp/precise32" config.vm.provision "shell", path: "provision.sh" config.vm.network "forwarded_port", guest: 80, host: 8080, id: .. 더보기
외부에서 Kubernetes API(apiserver) 접근 앞선 글(Vagrant에 Kubernetes 클러스터 구성하기)에서는 Vagrant 환경에 k8s 클러스터를 구성해 봤는데, 이 클러스터를 사용해서 뭔가(?) 하려고 하니 한 가지 문제가 생겼다. Minikube 처럼 kubectl을 다운로드 받기만 해서는 API를 사용할 수 없다는 것이다. 즉 호스트인 내 랩탑에서 kubectl을 통해서 명령을 내릴 수가 없다.물론 master에는 친절하게 kubectl 이 이미 설치되어 있기 때문에 ssh로 master에 접속하여 명령을 내리면 되긴한다. 하지만 내가 하려는 것은 자바로 짠, 랩탑에서 동작하는 프로그램을 통해서 k8s API를 사용하려는 것이다. 따라서 외부에서 k8s 클러스트에 접속하는 방법을 알아내야 했다.본인이 무엇을 필요로 하는지 아는 성격 급.. 더보기
삼성 MP3 플레이어 YEPP YP-T8 케이블 수리(pinout, 핀 배치) MP3 플레이어 YEPP YP-T8 의 데이터 전송 케이블이 없어져서 온라인 쇼핑몰에서 하나 구매를 했는데, 아예 인식조차 안 된다.상담 전화를 했더니 마지막 하나라서 교환이 불가하니 그냥 버리라고 한다.핀 배열만 알면 약간의 납땜만 하면 고칠 수 있을 것 같아서 열심히 찾아본다.2005년에 생산된 제품이니 상당히 불안했는데, 다행히 해외 사이트에서 Service Manual을 찾을 수 있었다.Samsung YP-T8 Service Manual이 메뉴얼 43페이지의 Schematic Diagram에 핀 배열이 나와 있다!배열은 아래와 같은데, 내 기억이 맞는다면 USB Micro-B와 배열 순서가 같다. 아마도 1, 2, 3, 5번 핀을 잘 맞춰서 땜질해 주면 될 것 같다.참고로 6번은 어댑터로 충전할 .. 더보기
Vagrant에 Kubernetes 클러스터(cluster) 구성하기 Minikube로도 랩탑에서 많은 작업을 할 수 있지만 아무래도 멀티 노드로 구성해서 직접 검증을 해야 할 일이 생긴다.Vagrant에 직접 CentOS나 Ubuntu 박스를 이용해서 구성을 시도했지만 시간만 낭비했고, 구글링 끝에 kubernetes-vagrant-coreos-cluster 프로젝트를 찾았다.https://github.com/pires/kubernetes-vagrant-coreos-cluster/프로젝트 메인의 README 를 보면서 설치를 진행해 봤는데, 아래는 윈도(windows)에서 설치한 경험을 정리한 것이다. 몇 가지 시행착오가 있었기 때문에 도움이 될 것이다.그리고 시간이 없더라도 README 는 꼭 읽을 것을 권장한다.InstallationNFS 공유 기능을 활성화 하기 위.. 더보기