반응형 Programing497 브라우저 종료 이벤트 처리, 브라우저 새로고침 이벤트 처리 브라우저 종료 이벤트 처리, 브라우저 새로고침 이벤트 처리 웹소켓 클라이언트의 경우 서버에 접속 후 브라우저를 닫거나 새로고침 할 때 서버의 Excetion을 발생 시킬 수 있습니다. org.eclipse.jetty.io.EofException Caused by: java.io.IOException: 현재 연결은 원격 호스트에 의해 강제로 끊겼습니다 그래서 클라이언트는 브라우저의 닫힘이나 새로고침 시 이벤트를 감지해서 커넥션 종료나 로그아웃 처리를 해야 할 경우가 있는데요, 그럴 때 사용하는 것이 전역객체의 onbeforeunload 함수 입니다. 그리고 새로고침도 감지해야 할 경우가 있기 때문에 브라우저에서 새로고침에 사용되는 F5, Ctrl+F5, Ctrl+r 키 이벤트를 감지해야 합니다. windo.. Programing/JavaScript 2019. 6. 17. JavaScript 정규식 정규표현식 알짜만 빼먹기 JavaScript 정규식 정규표현식 알짜만 빼먹기 이번 포스팅에서는 Javascript의 정규표현식, 줄여 정규식에 대해 알짜만 쏙쏙 빼먹는 시간을 갖어보겠습니다. 우선, 정규식이 뭐냐? MDN의 설명을 좀 참고하면, 정규 표현식은 문자열에 나타나는 특정 문자 조합과 대응시키기 위해 사용되는 패턴입니다. 자바스크립트에서 정규 표현식 또한 객체 입니다. 라고 정의하고 있네요. 쉽게 말해 보다 쉽게 문자열 패턴을 만드는 방법입니다. 문자열 패턴을 만드는 방법이니 문자열 함수에서 주로 사용이 되겠죠? replace 나 split, match, search 등과 같이 사용하는 것을 보신 적이 있으실 꺼에요. 예를 들어보도록 하죠. Javascript 에는 java 와 같은 replaceAll 함수가 없습니다... Programing/JavaScript 2019. 6. 17. [launch4j] jar파일로 exe 파일만드는 방법 how to make exe file to jar file [launch4j] jar파일로 exe 파일만드는 방법 how to make exe file to jar file jar 파일로 배포를 하다 보면은 batch 파일 생성시에 몇가지 문제점이 발생합니다. 예를 들어 window기반에서 실행은 경로로 하는 것이니 문제가 되지 않지만, 종료시에는 프로세스 명칭이 모두 Java(TM) Platform SE binary 로 되기 때문에 특정 어플리케이션만 종료하기가 어렵습니다. 물론 어렵게 어렵게 PID를 알아내고 접근해서 종료를 할 순 있지만 귀찮죠. 그렇다고 모든 자바 어플리케이션을 종료하는 것도 좀 이상합니다. (start taskkill /f /im java.exe) 그래서 jar 파일을 exe 파일로 배포해서 각각의 프로세스를 관리하는게 편리하죠. 그럼 .. Programing/JAVA 2019. 6. 11. JavaScript Blob 데이터로 이미지 URL 생성해 표출하기 JavaScript Blob 데이터로 이미지 URL 생성해 표출하기 이번 포스팅은 Javascript에서 Blob 데이터를 받아 이미지 URL을 생성해 표출하는 방법을 알아보겠습니다. 우선 데이터베이스에는 BLOB 타입으로 이미지가 저장되어 있습니다. Java VO 에서는 byte 배열 타입으로(toJson) 해당 데이터를 클라이언트에게 전달합니다. private byte[] blob; 브라우저에서 받은 blob 데이터를 확인해 봅시다. 콘솔로 데이터를 확인해보면 배열의 형태인 것을 보실 수 있습니다. 우선 이 배열을 8비트의 부호없는 정수 배열로 변환합니다. (Uint8Array) 그리고 이를 Blob 객체로 생성합니다. (Blob) Blob 객체에 대해서는 아래의 Link를 참고하세요. Link : .. Programing/JavaScript 2019. 4. 9. Spring Boot Multiple Database Configuration + Mybatis +HikariCP, MySQL, Oracle, Using Mapper annotation Spring Boot Multiple Database Configuration + Mybatis +HikariCP, MySQL, Oracle, Using Mapper Annotation 스프링 부트에서 멀티 Database 연결 설정 Mybatis + HikariCp, MySql, Oracle, 어노테이션 방식 Spring Boot version : 2.1.1 Gradle spring boot 2.0.0 이상부터는 DBCP는 HikariCP가 기본입니다. 스프링 부트, Mybatis 환경에서 Oracle과 Mysql로 멀티 데이터베이스 연동하는 방법을 알아보겠습니다. 우선 필요한 라이브러리의 의존성 주입을 합니다. dependencies { compile('org.springframework.boot:s.. Programing/JAVA 2019. 4. 2. 동적 파일업로드를 위한 ajaxForm 정리 동적 파일업로드를 위한 ajaxForm 정리 이번 포스팅에서는 브라우져별 파일요소(File Element)에 대해 알아보고 이를 ajaxForm을 사용하여 어떻게 파일 객체가 전달되는지를 알아보도록 하겠습니다. 이전 ajaxForm을 이용한 동적파일 업로드에 대한 정리로 생각하시면 될 것 같습니다. Link : javascript spring 멀티파일선택 업로드 ajaxForm multipart/form-data MultipartHttpServletRequest Link : Java Spring File Upload MultipartHttpServletRequest 멀티파일 업로드 방법 Link : javascript 동적 멀티파일 업로드, 동적으로 선택된 파일 전달, ajaxForm 활용 fileLis.. Programing/jQuery 2019. 3. 27. Spring Mybatis 멀티 database 연동 다중, 복수 데이터베이스 연동 oracle, mysql Spring Mybatis 멀티 database 연동 다중, 복수 데이터베이스 연동 oracle, mysql Spring Mybatis의 Mapper interface를 사용하는 환경에서 복수의 database 설정을 하는 방법을 알아보겠습니다. ibatis 환경에서 복수의 database 설정 방법은 아래의 Link를 참고하세요. Link : 전자정부프레임워크 egov ibatis 복수의 디비 커넥션 설정 방법 저의 경우 Oracle과 MySql 커넥션 설정을 하겠습니다. MySql의 경우 별도의 커넥터를 의존 성 주입 해주셔야 합니다. pom.xml 에 커넥터 dependency를 추가 합니다. mysql mysql-connector-java 5.1.31 이제 복수 DB의 datasource 설정을 .. Programing/Spring 2019. 3. 20. Java ASN.1 추상구조체 디코딩 방법 How to decode ASN.1 Abstract Structure ASN.1 추상구조체 디코딩 방법 How to decode ASN.1 Abstract Structure 이전 포스팅에서 .asn 확장자 파일을 jar 파일로 Export 하는 방법과 추상 구조체를 인코딩 하는 방법에 대하여 알아보았습니다. Link : ASN.1 Java jar 파일 만드는 방법 How to make ASN.1 jar file ASN.1 Java jar 파일 만드는 방법 How to make ASN.1 jar file ASN.1 Java jar 파일 만드는 방법 How to make ASN.1 jar file ASN.1 은 특정 장치, 데이터 표현방식, 프로그래밍 언어 등에 종속되지 않도록 표준화된 OSI 계층모델의 표현계층 상에서 쓰이는 추상 구조체를 aljjabaegi.tistory... Programing/JAVA 2019. 3. 20. ASN.1 구조체 생성 및 인코딩 방법 ASN.1 구조체 생성 및 인코딩 방법 우선 ASN.1 구조체를 만들기 위해서는 .asn 확장자의 전문과 그 전문이 어떤구조인지 파악 할 수 있는 인터페이스 정의서가 필요합니다. 어떤 구조인지 알아야 원하는 값을 넣을 수 있겠죠? .asn 확장자의 전문이 만들어지면 OSS라는 프로그램으로 java 프로젝트를 생성할 수 있고, 그 프로젝트를 이클립스와 같은 IDE에서 jar 파일로 추출 할 수 있습니다. 추출된 jar 파일을 ASN.1 을 사용할 프로젝트에 추가하여야 전문과 같은 추상 구조체를 생성할 수 있습니다. OSS 프로그램을 사용하여 jar 파일을 만드는 방법은 아래의 Link를 참고하세요. Link : ASN.1 Java jar 파일 만드는 방법 How to make ASN.1 jar file A.. Programing/JAVA 2019. 3. 18. ASN.1 Java jar 파일 만드는 방법 How to make ASN.1 jar file ASN.1 Java jar 파일 만드는 방법 How to make ASN.1 jar file ASN.1 은 특정 장치, 데이터 표현방식, 프로그래밍 언어 등에 종속되지 않도록 표준화된 OSI 계층모델의 표현계층 상에서 쓰이는 추상 구조체를 기술하는 언어를 말합니다. 이번 포스팅에서는 .asn 확장자 전문 구조를 jar 파일로 Export 해 Java에서 활용가능 하도록 만드는 방법에 대해서 기술하겠습니다. 우선 jar 파일을 만들기 위해서는 .asn확장자 전문 구조 파일과 이를 컴파일 해주는 OSS ASN.1 Studio 라는 프로그램이 필요합니다. OSS는 상용 프로그램으로 구매를 하셔야 하지만 무료툴도 있으니 검색해보시기 바랍니다. 그럼 OSS를 실행하여 New Project를 합니다. ASN.1/J.. Programing/JAVA 2019. 3. 15. Mybatis Oracle Sequence 사용시 주의점 Mybatis Oracle Sequence 사용시 주의점 자동증가 시켜야 되는 컬럼 사용 시 Max값+1을 사용하지 않기 위해 오라클에 시퀀스를 생성하고 (Myseql은 auto_increasement) Mybatis 의 selectKey 태그를 사용하여 해당 값을 VO 객체 변수에 받아오게 됩니다. Link : mybatis selectkey 사용법 생성한 키값 리턴받기 mybatis selectkey 사용법 생성한 키값 리턴받기. mybatis selectkey 사용법 생성한 키값 리턴받기. update나 insert 시 키값을 리턴 받는 방법을 알아보도록 하겠습니다. 예제를 보도록 하죠. 1 2 3 4 5 6 7 8 9 10 .. aljjabaegi.tistory.com 위와같이 Mybatis에서 .. Programing/Spring 2019. 3. 4. Javascript 객체 확대 축소 이동 라이브러리 Panzoom Javascript jquery 객체 확대 축소 이동 라이브러리 Panzoom 이번 포스팅에서 소개할 JavaScript 라이브러리는 panzoom 입니다. 위 동영상 처럼 마우스 휠을 사용하여 객체의 확대 축소가 가능하고, 드래그로 객체를 이동할 수 있습니다. 상하, 좌우축만 움직이도록 제한 할 수도 있으며, 이미지 뿐 아니라, dom 객체도 컨트롤이 가능합니다. 다운로드는 아래의 링크를 통해 가능합니다. Download Link : https://github.com/anvaka/panzoom 위의 깃허브에서 다운로드 하셔서 압축을 풀면, 아래와 같은 폴더를 보실 수 있습니다. demo 폴더의 index.html 을 열어 기능과 코드를 확인하신 후 dist\jquery.panzoom.min.js 파일만.. Programing/JavaScript 2019. 1. 20. Spring boot dynamic scheduling quartz, 동적 스케쥴링 동적 cron Spring boot dynamic scheduling quartz, 동적 스케쥴링 동적 cron Spring boot 에 Quartz 를 활용해 동적으로 스케쥴링이 되도록 구현하는 방법을 알아보겠습니다. [Spec] Spring boot 2.1.0 quartz 2.2.1 우선 Quartz를 의존성 주입합니다. [Gradle] implementation group: 'org.quartz-scheduler', name: 'quartz', version: '2.2.1' [Maven] org.quartz-scheduler quartz 2.2.1 [SchedulerManagement.java] @Component public class SchedulerMangement { private SchedulerFact.. Programing/JAVA 2018. 12. 27. javascript VXG Media Player RTSP protocol paly in Chrome, 크롬에서 rtsp play javascript VXG Media Player RTSP protocol paly in Chrome, 크롬에서 rtsp play 이전 포스팅에서 RTSP, HLS 프로토콜을 Web Brower 상에서 플레이 하는 방법에 대해서 알아봤었습니다. Link : HLS(Http Live Streaming) 웹에서 플레이 하는 방법 Link : RTSP(Real Time Streaming Protocol) 웹에서 플레이 하는 방법 vlc player 활용 Link : HLS(Http Live Streaming) 웹에서 플레이 하는 방법(FlowPlayer 사용) Link : RTMP / RTSP 모바일 출력 이슈. 하지만 몇가지 이슈가 있었죠. 여러 보안상의 이유로 크롬에서는 VLC Player 가 정상작동 하.. Programing/Streaming 2018. 12. 26. Javascript 두 좌표 사이의 거리 구하기, 두 좌표의 중앙 좌표 구하기 Javascript 두 좌표 사이의 거리 구하기, 두 좌표의 중앙 좌표 구하기 WGS84 좌표계의 두 좌표 사이의 중앙에 좌표간 거리를 구해서 출력하는 방법을 알아보도록 하겠습니다. GSP지도는 카카오(다음) 지도 기반입니다. - 두 좌표의 중심점을 구하는 함수 function makeLengthInfo(data){ var iwContent = ''; var distanceArray = []; data.reduce(function(a,b){ var d = []; var position1 = new daum.maps.LatLng(Number(a.split('/')[0]),Number(a.split('/')[1])); var position2 = new daum.maps.LatLng(Number(b.spli.. Programing/JavaScript 2018. 11. 19. 이전 1 ··· 12 13 14 15 16 17 18 ··· 34 다음 반응형