본문 바로가기

QR코드 및 단축URL 생성하기 - 구글, 네이버 이용 요즘도 QR코드를 많이 사용하는지는 모르겠지만, 한때 스마트폰이 보급되기 시작했을때는 QR코드가 큰 인기를 끈 적이 있다. 스마트폰 카메라를 통해 QR코드를 인식시키면 해당 URL로 자동 연결되는 방식은 사용자로 하여금 URL을 직접 입력할 필요가 없어 나름대로 편리한 구석을 갖추고 있다. 단축URL은 파라미터가 포함되어 있는 긴 URL 주소를 짧게 줄여주어, 해당 단축 URL 입력시 원본 URL로 이동시켜주는 기능을 가지고 있다. 단축 URL은 주소가 짧기 때문에 쇼핑몰이나 긴 주소를 가지고 있는 사이트의 URL을 줄일때 편리하다. QR코드와 단축URL은 해당 목적지 URL로 이동시키는 기능은 같으나, 쓰임새가 다르므로 적절하게 생성하여 사용하면 된다. QR코드와 단축URL은 구글이나 네이버에서 제공하.. 더보기
[Java] addBatch와 exceuteBatch를 이용한 대용량 데이터 처리 어느날 100만건이 넘는 대용량 데이터를 빠른 시간내에 처리해야 하는 이슈가 있었다. 처음에는 습관처럼 myBatis를 이용하여 데이터 insert를 처리하였는데 데이터를 insert 하는 시간이 생각보다 오래 걸렸다. 혹시나하여 myBatis를 사용하지 않고 자바 코드내에서 Connection 객체를 사용하여 insert 하였더니 소요시간이 많이 줄어들었다. 프레임웍의 일종인 myBatis를 거치면 빠른 대용량 처리시에는 부적합하다는 결론을 내리고 자바 소스내에서 처리하는것으로 개발방법을 변경하였다. mybatis를 이용하지 않고 코드 내에서 다이렉트로 DB에 접속하여 insert 하는 방법이 속도는 더 빠르지만, 프로그램의 요구사항은 이보다 더 빠르게 처리하는게 목표였다. 그래서 오랜만에 Prepar.. 더보기
[MySQL] On Duplicate Key Update DB와 연동되는 프로그램을 개발하다보면 가끔씩 다음과 같은 일이 발생한다 "데이터가 있으면 Update, 없을경우 Insert" 위와 같은일이 종종 발생하는일은 아니지만 아주 가끔씩 위와 같은 요구가 발생하는데 아주 꼬꼬마 개발자 시절에는 위와 같은 방법을 다음과 같이 처리했다. 1. 데이터 조회 2. insert / update 분기 처리 3. 쿼리 실행 그러다가 시간이 조금 지나고 나서는 아래처럼 처리했다. 1. update 후 변경된 레코드 수 확인 2. update된 레코드가 없을경우 insert select 쿼리를 빼버리고 바로 update를 실행하면 영향받은 레코드 개수를 리턴받을수 있는데, 리턴개수가 0일 경우 insert로 처리하는 방식이다. 평상시엔 위와 같이 처리해도 큰 문제는 없으나,.. 더보기