Intro Github에서 저장소의 readme 파일을 불러와 화면에 렌더링 해 주는 기능을 구현 하고 있는 중, 한글이 깨져버리는 현상이 발생했습니다. 위에서 보이듯, github 에서는 readme 파일을 base64 로 인코딩 해서 보내주는데요, java let decoded = atob(res.content);Copy 이렇게 해서 출력 했더니 한글이 깨지는 현상이 발생 했습니다. https://github.com/dankogai/js-base64 dankogai/js-base64 Base64 implementation for JavaScript. Contribute to dankogai/js-base64 development by creating an account on GitHub. github..
Programming 159
MyBatis ) VO(Value Object)객체 만들지 않고 map 으로 쿼리 결과 받아오기 VO 객체를 만들어 두고 MyBatis 에서 맵핑을 해서 쓴다면 정말 간편하고 쉬운데요, property 가 적고, 자주 사용하지 않는 객체들도 모두 VO 로 등록하기엔 비 효율적입니다. 마침 팀원분 한 분이 Map 에 맵핑 하는걸 궁금해 하시기도 해서 이번 기회에 Map으로 한번 코드를 작성 해 보았습니다. package best.gaia.project.dao; import java.util.List; import java.util.Map; import org.springframework.stereotype.Repository; @Repository public interface RepositoryDao {..
스프링 websocket 사용시 java.io.IOException: Broken pipe 해결하기. java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469) at org.apache.tomcat.u..
MAXIMUM SESSIONS OF 1 FOR THIS PRINCIPAL EXCEEDED 해결하기 Spring Security를 사용해 로그인 인증 처리를 하고 있습니다. 정상적으로 로그인, 로그아웃이 이루어지고 있는데 특정 시점마다 자꾸 로그인이 제대로 되지 않는 문제가 있었습니다. Session의 에러 메시지를 확인 하니 MAXIMUM SESSIONS OF 1 FOR THIS PRINCIPAL EXCEEDED 문제 였고, 해결을 위해 선생님을 찾아 갔습니다. spring security 를 관리하는 xml 파일입니다. 아래의 max-sessions = 1 부분에서 최대 세션을 1개로 제한하고 있는데, 세션을 추가로 생성하려고 했기 때문에 생겼던 문제 입니다. 서버에서는 해당 회원은 이미 로그인이 되어..
ContextPath가 https://localhost/gaia 로 잡혀 있습니다. 나중에 배포를 하더라도 gaia.co.kr 이런식으로 되어야지 gaia.co.kr/gaia 로 도메인 하위 contextPath를 잡는 사람은 아무도 없겠죠? 저희팀에서 만들고 있는 프로젝트는 URL을 네비게이션 처럼 사용 할 수 있게 하고 pathVariable을 적극적으로 사용하고 있는데요, kkobuk 이란 아이디가 생성한 testproject 에서 issue 들을 열람 하면 아래와 같이 kkobuk/testproject/issue의 URL 주소를 갖습니다. Restful API 까지 활용하며, 하위로 /1 까지 하면 1번 이슈를 조회 하게끔 했습니다. 확대해서 보면 주소가 아래와 같습니다. ContextPath를 ..