개발/개발관련
-
panolens 360 영상 재생 및 멈춤개발/개발관련 2020. 1. 9. 16:24
하나의 360 동영상인데, 일정시간 재생되고 내가 설정한 지점에서 멈추고, 이때 poi가 화면에 나온다. poi 클릭 시 내가 원하는 부분으로 영상이 이동되어 재생되어야한다. (앞으로든 뒤로든) 1. 시행착오 끝 소스 웹에서 360동영상이 재생이 되고 내가 설정한 시간에 동영상이 멈춰야한다. 여러 시행착오 끝에 정리한 소스이다. (참고만 할 수 있게 정리) videoTime1 : function() { this.video1_setTime = setTimeout("videoTime1()",1000); // 1초후에 자기자신을 호출 this.video1_time = (this.video1).videoElement.currentTime; if(this.f_플래그1 == 0 && this.video1_time ..
-
panolens threejs cache 미리 다운받기개발/개발관련 2019. 12. 23. 17:34
panolens를 이용해서 360이미지 여러개를 이었는데, 다음 이미지로 넘어갈때마다 사진 용량이 커서 오래 기다려하는 문제가 있었다. 미리 캐시에 올리게 되면 처음만 오래걸리지 캐시에 올라가고 나서부턴 속도가 개선될 것 같아서 방법을 찾아보기로했다. 1. 일단 구글링 해보자 서비스워커를 써야할 것 같다. 워커어쩌고는 옛날꺼고 문제도 많고 여러 브라우저에서 막히고 있다. 서비스워커는 구글디벨로퍼 사이트에서 어떻게 사용하는건지 나와있다. 해봤는데... panolens에선 이미지가 미리 다운이 안받아진다. 그래서 panolens를 열어봤더니 three.cache관련해서 소스가 뭔가 있다. 이부분을 좀 더 파야할 것 같다. 서비스워커는 panolens에서는 안될것같다. 2. threejs cache 일단 구글..
-
letsencrypt 인증서 갱신하기개발/개발관련 2019. 12. 20. 11:40
1. 인증서 갱신 일단 letsencrypt 폴더를 찾아야한다. 나는 ~ 밑에 있었다. (우분투14버전) ./certbot-auto renew --dry-run 위와 같이 돌리면 시뮬레이션으로 돌려볼 수 있다. 80포트 어쩌고 에러는 톰캣이 80포트로 돌아가고 있기 때문에, 톰캣을 끄고 다시 실행하면 잘 돌아간다. 인증서 갱신된거 우분투에서 날짜 확인하고 톰캣 시작하고 사이트 들어갔는데... 적용이 안되어있다. 2. standalone 방식으로 다운받았을 때, 인증서 갱신 일단 과거에 standalone 방식으로 다운을 받았다. 찾아보니, 형변환이 필요하다고 한다. 인증서 폴더로 이동해서 도메인 폴더 밑으로 들어간다. cd /etc/letsencrypt/live/aaaa.com 확장자 명이 crt, ke..
-
google street view api panoid에 따라서 이미지 간헐적으로 안나오는 현상개발/개발관련 2019. 11. 28. 15:36
1. google street view api가 간헐적으로 제대로 안나오는 현상 google street view api를 이용해서 360이미지를 보여주는데 어떤 사진은 나오고 어떤사진은 안나오는 현상이 발생했다. 찾아보니 저작권 소유가 google인건 잘 나오는데, 개인이 찍어서 올린 360이미지는 안나왔다. panoId는 콘솔창에서 아래 코드를 넣고 엔터치면 나온다. "F:".concat(window.location.href.split("!1s")[1].split("!2e")[0]).replace('%2F','/') 위와같이 하면 검은 화면에 360이미지가 안뜬다. 대신 panoId에 구글저작권인 id를 넣으면 나온다 var panoId = 'faGD2ttSy8EroNhM4_wm6w'; 구글링 해봐도..
-
자바로 ip 출력하기개발/개발관련 2019. 11. 26. 11:54
1. 자바로 ip 출력하기 로그인한 사람을 로그로 남기기위해 ip를 저장해야한다. HttpServletRequest를 이용해 ip를 가져올 수 있다. public static String getIpAddr(HttpServletRequest request){ String ip = request.getHeader("X-FORWARDED-FOR"); if (ip == null || ip.length() == 0) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0) { ip = request.getHeader("WL-Proxy-Client-IP"); // 웹로직 } if (ip == null || ip.length(..
-
자바로 메일 보내기개발/개발관련 2019. 11. 19. 15:20
1. smtp로 자바 메일 보내기 일단 smtp가 필요하다. 회사에선 자체 smtp가 있기때문에 그거 쓰면되고, 개인 프로젝트는 주로 naver, google을 많이 쓰는 것 같다. 처음엔 naver smtp를 사용했다가 google로 변경했다. 그 이유는 발신자 메일을 네이버는 수정을 못하게 막아놨기 때문이다. 즉, 인증에 사용했던 메일이 발신자 메일로 박혀서 수정이 안된다. 구글은 발신자 메일과 인증한 메일이 달라도 상관없어서 구글로 변경했다. 그런데 이렇게 하게되면 스팸으로 처리될 수 있다곤 하는데 그런 현상은 발견 못했다. (메일의 양이 많거나 동시에 여러개 보내면 스팸으로 간다 하더라.. 확인X) 무튼 먼저 javax.mail을 import 한다. 만약 없으면 jar 다운받아서 넣어야한다. (구..
-
xss 공격 보안개발/개발관련 2019. 11. 18. 12:20
1. 스크립트 공격으로 인한 보안책 xss 보안 라이브러리가 몇개 있는데 그 중에 네이버에서 나온 xss 필터를 적용해본다. 한글화가 잘 되어있고, 많이 쓰는 라이브러리에 용이한 적용방법, xml 설정만으로 xss 방어가 가능한 점, 비지니스 코드 수정이 발생하지 않는 점 등등 장점이 많아서 적용하게 되었다. 기존 lucy-xss-filter를 사용해도 xss 공격에 시달리고있다. 필요한곳에 xss 방어 코드 누락, 불필요한 곳에 누락, 여기저기 방어코드가 혼재되어 유지보수 비용 증가 등 여러 문제가 발생했다. 하지만, 현재 운영중인 사이트에 xss 적용하려면 lucy-xss-filter를 적용하는게 좋다. 서블릿 기반으로 바꾸게 된다면 입출력에 문제가 생길 수 있다. 그래서 시간적 여유가 많거나 새로 ..
-
CORS 문제 해결개발/개발관련 2019. 11. 14. 12:13
1. cors 에러가 일어나는 원인 크롬, 파폭 등에서 보안상의 이유로 도메인이 다른 컨텐츠를 불러오면 차단하고 에러가 발생한다. 예를 들면, www.aa.com에서 이미지파일을 www.bb.com 에서 불러온다면 cors 에러가 발생한다. 요즘은 파일서버 따로, 스트리밍 서버 따로 등등 여러 url로 불러와야하기때문에 해결 방법이 여러가지 있다. 서버에 따라 다르다. 해당 문서는 window + jsp + Springmvc + 톰캣으로 되어있는 환경에서의 해결 방안이다. 2. 해결방안 1. 클라이언트 단에서 해결 방안 (완벽한 해결방안은 아니다.) 크롬 실행시 외부 요청 허용하는 크롬 자체 옵션 사용 - 모든 일반사용자가 이 옵션을 바꿔야하기 때문에 적절한 해결방안이 아니다. 외부요청을 가능하게 해주는..