본문 바로가기

분류 전체보기104

오픈레이어스 버전 확인 오픈레이어스의 버전을 확인하는 방법. js파일의 주석으로 현재 버전이 명시되어 있지 않기 때문에 별도의 코드를 통해 확인. 개발자 도구를 열어 콘솔에 다음의 스크립트를 실행 let version; try { let layer = new ol.layer.Vector({ style: new ol.style.Circle({ radius: 30 }) }); } catch(err) { let parts = err.message.split("/v"); parts = parts[parts.length - 1].split("/"); version = parts[0]; } console.log(version); 다음은 실제 콘솔창에서 실행한 결과입니다. 2022. 2. 15.
오라클 connect by level 사용법 서비스를 개발하다보면 시간별, 월별 그래프 등을 보여줘야할 때가 있다. 예를들어 과거 1년간의 월별 그래프를 표현한다고 치자. 12개월간의 데이터가 모두 수집되어 있으면 고민할 필요 없이 SQL을 작성하여 그래프를 표현할 것이다. 하지만 수집에 누락이 있다던지의 문제로 인해 데이터가 비어있는 경우가 있을 수 있다. 이럴때는 CONNECT BY LEVEL을 이용하여 미리 시간 데이터를 만들어 놓고 JOIN을 통하여 차트 데이터를 구현한다. 다음은 현재시간을 기준으로 월별, 일별, 년도별을 출력하는 예제이다. - 과거 1년간 월별 출력 SELECT V_MONTH FROM ( SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -LEVEL+1), 'YYYYMM') AS V_MONTH FROM DUA.. 2022. 2. 15.
오픈레이어스 이미지 저장 및 프린트 오픈레이어스의 이미지 저장 및 프린트를 하기 위해서는 별도의 코드 구현이 필요하다. 구글 검색을 해보면 여러 케이스가 나오지만 제대로 작동되지 않는 코드가 많이 있었다. 공식 홈페이지에서 정상작동하는 코드를 확인할 수 있다. 현재시간 기준으로 6.5.0 버전에서 정상작동하는 코드를 정리하였다. - 이미지 저장 map.once('rendercomplete', function(event) { const mapCanvas = document.createElement("canvas"); const size = map.getSize(); mapCanvas.width = size[0]; mapCanvas.height = size[1]; const mapContext = mapCanvas.getContext("2d".. 2022. 2. 15.
애드센스 영세율 부가세 신고 애드센스의 영세율 부가세 신고와 관련하여 기록을 남기기 위한 글입니다. 애드센스 같이 해외 법인 사업자로부터의 소득이 발생하면 영세율 부가세 신고를 해야한다. 절차는 다음과 같다. 1. 기타제출서류(영세율) 에서 영세율 매출명세서와 외화획득명세서를 체크한다. 2. 과세표준 및 매출세액에서 영세율 기타 부분의 작성하기 버튼을 클릭한다. 다음 화면에서 영세율 기타 매출분 금액에 지급받은 금액을 기입한다. 외화통장으로 받았다면 환율을 적용하여 원화로 환산한 다음 기입하도록 한다. 3. 영세율 신고는 영세율 상호주의를 작성하여야 한다. 작성하기 버튼을 클릭하여 적용구분, 업종코드, 국가코드를 작성한다. 아래에서는 소프트웨어 개발업으로 부가가치세법 시행령 제33조 제2항 제1호에 근거하여 작성하였다. 4. 영세율.. 2022. 1. 18.
RTSP 외부접속이 안될 때 포트 설정 이번에 IPTIME의 IP CCTV를 하나 주문했다. 설정을 마치고 외부접속을 위해 포트포워딩까지 설정했는데 관리자페이지는 잘 들어가지고 실시간 스트리밍은 전송이 안되는 상태. ISP에서 포트를 막았나 싶어서 일반적으로 쓰이는 FTP서버 포트(21)로도 해봤지만 동일한 상태. 고객센터에 문의하니 일부 공유기에서는 80번 포트와 554포트를 동시에 개방 못하는 것도 있다고.... 그래서 관리자 페이지는 잘 들어갔지만 실시간 스트리밍이 안됬던 것이다. 기술지원팀에서 안내해 준 대로 RTSP 내부포트를 변경해서 적용해보니 잘 된다. 2022. 1. 10.
Input variables exceeded 1000 서버 개발을 하면서 post로 많은 양이 데이터를 보낼 때 발생한다. Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0 이때 두가지 방법이 있다. 1. php.ini 수정 서버권한이 있다면 max_input_vars 항목을 찾아 수정. 2. .htaccess 파일 수정 서버권한이 없다면 root 디렉토리에 해당 파일을 찾아 수정. 2021. 11. 13.
Maximum execution time of 120 seconds exceeded codeigniter3, MySQL을 사용하던 중 발생. query가 장시간 실행될 때 발생한다. 원인은 php.ini의 설정 중 max_execution_time의 값이 120으로 설정되어 있기 때문. 다음의 해결방법이 있다. 1. max_execution_time의 값을 조정. - 어플리케이션 전체에 영향을 받게 된다. 2. 스크립트 상단에 set_time_limit(0)을 설정. - 해당 스크립트 부분에서만 영향을 받게 된다. 2021. 11. 4.
리눅스에 node js 개발환경 구성 centos 7을 기준으로 작성되었습니다. 우선 wget을 설치합니다. yum install wget wget으로 nvm(node version manager) 을 설치합니다. nvm을 사용하는 이유는 상황에 따라 쉽게 관리를 하기 위해서 입니다. 기존 레파지토리를 등록하여 설치하는 과정에 몇번의 이슈가 있어 nvm을 사용하였고 쉽게 해결하였습니다. wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash 설치 후 bashrc를 로드합니다. source ~/.bashrc 로드 후에도 nvm이 실행되지 않을 때는 다음의 내용을 업데이트하고 다시 로드해주세요. nano ~/bashrc export NVM_DIR="$HOM.. 2021. 4. 12.
리눅스에서 백그라운드 등록하기. // 프로세스를 중단없이 백그라운드에서 돌리고 싶다면 다음의 명령어를 사용하면 된다. // nohup은 세션과 연결을 종료해도 실행되는 명령어. // &는 백그라운드에서 실행시키는 명령어. // 주의할 점은 반드시 755 퍼미션을 가지고 있어야 한다. nohup java -jar -Dspring.profiles.active=production program.jar & // 프로세스 id 찾기는 ps -ef | grep [프로그램 파일명] // 프로세스 종료는 kill -9 [프로세스id] 2021. 4. 8.