Entries Tagged as Miscellaneous

인터넷쇼핑몰에서 결제 시 VP에서 만든 ISP결제프로그램을 수동 설치 후에도 자꾸 설치가 안되었다면서 설치하라는 메시지만 띄우고 작동되지 않는 경우가 있습니다. 저의 경우에는 거의 100% VP(http://www.vp.co.kr)의 모듈이 업데이트 될때마다 발생되는 현상입니다.

흔히들 브라우저 상단의 노란줄을 눌러 설치하라는 메시지만 띄우고마는데 Windows7 64bit의 IE9(32bit모드)에서는 그런 ActiveX 설치창이 나타나지 않습니다. 보안설정을 낮추어도 말이죠. 그래서 수동설치파일을 제공하는데 문제는 각각의 쇼핑몰에서 이 수동파일을 센스있게 제공하는 곳이 몇군데 안됩니다. 즉, 이니시스, KCP, LG UPlus 등등 기본 카드결제시 설치하는 ActiveX가 Windows 7이상의 64bit 운영체제를 이용하는 IE9 등에서는 설치창 자체가 뜨지 않습니다. 지금까지로 보면 롯데그룹에서 운영중인 유니클로외엔 11번가, 인터파크 등등 대형몰에서는 찾아볼 수 없었습니다. 따라서 대부분 이 경우 해당 PG사의 자료실 등에서 수동설치파일을 설치하면 대부분 해결이 됩니다만, 카드사마다 안심결제, ISP 등등 설치하는 ActiveX가 달라 많이 복잡합니다.

문제는 Visa계열에서 사용하는 안심결제는 그나마 수동설치파일을 설치하면 대부분 정상적으로 이용할 수 있는 반면, ISP결제모듈만 늘 말썽입니다. ISP결제 모듈은 VP이란 회사(http://www.vp.co.kr)에서 배포하는데요 Windows 7(64bit)의 IE9(32bit 모드)에서는 ActiveX 설치 안내창이 뜨지 않음(보안설정을 낮추어도 나타나지 않음)에도 "설치하라"는 자바스크립트 경고창만 띄우기만 합니다.

물론 VP 홈페이지에서 수동설치파일을 배포합니다만, 이 파일로 정상 설치 후 다시 ISP결제 테스트를 해봐도 모듈이 설치되지 않았다고 하면서 계속해서 설치하라고 자바스크립트 경고창만 띄우게 되죠.

만약, Windows 7(64bit) 운영체제를 사용중이고, IE9(32bit)를 이용해서 어떤 쇼핑몰에서 결제를 시도하려는데 ISP만 설치가 제대로 안되거나, 수동설치 후에도 자꾸 설치하라는 경고창이 뜬다면 다음과 같이 해보시길 바랍니다.

우선 자바스크립트 경고창을 띄우는 설치모듈이 설치되었는지 검사하는 자바스크립트 파일(http://www.vpay.co.kr/KVPplugin.js) 에서 9버째 줄에 있는 var KVP_LOAD_STRING_VISTA64 항목을 보시면 실제 ActiveX 파일의 cab파일의 경로가 있습니다. Windows Vista 이상의 64bit 운영체제용 ActiveX파일은 https://www.vpay.co.kr/kvpfiles_new/KVPISPCTLD_VISTA64.cab#Version=1,0,7,4 에서 수동으로 다운로드 받을 수 있습니다.

이제 다운로드 받은 KVPISPCTLD_VISTA64.cab을 압축유틸리티(알집 등)으로 강제로 풀어줍니다. 압축을 푼 파일중에서 다음의 파일을 KvpIspCtlD.ocx 파일을 C:\Windows\Downloaded Program Files 안에 복사해 줍니다. 이미 파일이 있는 경우 강제로 덮어써 줍니다. 그런 다음  http://www.vp.co.kr/home/02_custom/custom_01_test_ispp.html 의 맨아래 ISP결제테스트를 시도해 보시길 바랍니다. 정상적으로 될 겁니다. 

VP가 만들어서 배포하는 수동설치파일이 이 파일을 업데이트하지를 못하는 것 같습니다. 문제는 이런 문제를 리포팅해도 해당 업체의 엔지니어? 등이 알아듣질 못하고 운영체제를 다시 깔아봐라, IE의 임시파일을 삭제해 봐라 등등 앵무새같은 말만 반복한다는 것 입니다. VP의 ISP결제모듈은 Android용도 명성이 자자합니다. ㅋㅋ (문제많기로)

결론은 ISP 결제보단 다른 결제수단을 쓰는게.. 국민카드, 비씨카드 이것들이 늘 똘아이짓(혼자만의 방식)을 하더라고요. 

Zip파일은 거의 모든 압축포맷 중에 단연 최고의 사용률을 자랑하는 포맷이며, 대부분의 압축 유틸리티에서 지원하는 포맷이기도 합니다.

하지만 모바일, Unix 등의 이 기종과의 파일교환에는 치명적인 단점이 있습니다. 바로 Unicode의 미지원이 바로 그것입니다. 최근에 V3Zip같은 경우에는 유니코드도 지원한다고 하는데 실제로 Windows환경에서 V3Zip으로 한글 파일들을 Zip을 묶어서 Linux 등에서 풀어보면 역시나 한글파일명은 깨지고 맙니다. (유니코드인코딩은 지원이 안되나 봅니다.)

사실 저는 ColdFusion의 CFZIP 태그를 이용해서 파일을 압축하고 사용자가 업로드한 압축파일을 풀거나 특정 파일을 추출하는 기능을 만들던중에 몇가지 특이한 점을 발견했습니다.

1. 서버(Ubuntu Linux)는 기본 파일 시스템, 웹서버 역시 모든 파일을 유니코드로 처리합니다.
2. 업로드된 파일 중에는 한글파일명을 가진 파일이 존재합니다. 디렉토리 역시 한글 디렉토리명을 가지고 있습니다.
3. ColdFusion에서 CFZIP을 이용해서 Zip파일을 생성하여 Linux에서 열어봅니다.
4. 위 3의 압축파일을 압축을 해제하면 한글파일명 또는 한글디렉토리명은 모두 깨져버립니다.
5. 위 3의 압축파일을 Windows환경에서 압축해제해 보면 정상적으로 한글이 지원됩니다.

결론은 CFZIP에서 파일을 처리하는 부분은 유니코드를 지원하지 않음을 알게 되었습니다. 결국 실망하던차 ZIP파일 자체에서 문제를 찾아보고자 했는데 헐.. ZIP포맷은 애초부터 유니코드를 지원하지 않는 것이였습니다. 그래서 RAR나 7z와 같은 압축 포맷을 사용하는 것이 유리하다고.. 

물론 Linux 등에서는 unzip이라는 내부 명령어에 의해 unzip -O cp949 압축파일명.zip 과 같이 명령어로 압축을 풀면 정상적으로 비 유니코드 압축파일도 올바르게 해제할 수 있긴 합니다.

실제로 ZIP포맷은 공개는 되어 있으나 대부분 상용소프트웨어로 팔리고 있고, 실제로 *nix 계열에서는 대부분 tar.gz와 같은 포맷을 주로 사용하여 ZIP을 고집할 이유가 없어지긴 했습니다.

압축소프트웨어의 비교(링크)

그러나 사용자 대부분이 압축포맷하면 ZIP은 쉽게 알고 사용하는 반면에 7z와같이 고효율의 압축포맷은 아무도 모르는 것이 문제가 되었습니다. 실제로 CFZIP태그에서도 ZIP포맷만 생성이 가능하므로 7z는 그림의 떡.

결국엔 ColdFusion에서 Shell을 실행하여 7z로 만들어 배포하는 것으로 바꾸었습니다. 대부분의 사용자가 쓰고 있는 알집과 같은 유틸리티에서도 7z는 압축해제 지원하니까요. 하지만 ZIP은 앞에서 말씀드린 유니코드 미지원이라는 단점이 있고, 알집 등등도 결국에는 100%오픈된 프리웨어는 아니니까(배타적 프리 라이센스로 기업 등에서는 구매해야 하므로) 여러분들도 이제 7z을 쓰시는 건 어떨까요?

무료고, Windows/Linux/Mac 등 다중 플랫폼을 안정적으로 지원하며 Adobe 등 거대 소프트웨어 회사들도 자사의 설치 S/W를 고압축하여 배포할때 사용하며 더더욱이 ZIP과 같은 기존의 압축포맷도 지원하지만 7z와 같은 전용 포맷을 만들 수도 있으니까요.

7Zip 다운로드 : http://www.7-zip.org/download.html

앞으로 제 블로그에서 배포되는 모든 압축 포맷은 7z입니다. ^^ 

지난 2개월동안 나름 고생하여 만든 전라남도 보성군의 QR코드 관리시스템이 거의 완성단계에 왔습니다. 아직 테스트도 남았고, 검증 및 서비스개시까지 약간의 시간은 더 필요하겠지만 고생의 시간만큼 보람도 있네요. 관리시스템의 모든 기능과 디자인, 문서(보고서), 개발까지 혼자서 북치고 장구치는 프로젝트였습니다. QR코드의 디자인 부분만 디자이너의 도움으로 해결했습니다.

이 프로젝트가 나름 의미가 있게된건 최초의 오픈소스 ColdFusion엔진인 Railo를 적용한 사례여서가 아닐까 싶습니다. 몇몇 내부 시스템에 ColdFusion을 적용한 경험은 있지만 외부로 공개되서는 아니되는 것들이였고 실제 전체 시스템이 ColdFusion으로만 이루어지지 않은 터라 공개도 힘들었었죠. 하지만 보성군 QR코드관리시스템은 전체가 ColdFusion으로만 구현되었습니다.

시스템 자체의 기능과 규모는 매우 작다할 수 있지만 많은 오픈소스(특히 QR코드의 생성부문과 클라이언트측의 jQuery관련 오픈소스)가 쓰였고, 기간이 짧아서 인지 많은 코드가 아직 최적화 되지않은 점은 아쉬움으로 남습니다. 나중에 최종 런칭이 된 후에 몇몇 기능의 구현에 대해 포스팅해보기로 하고, 오늘은 개략적인 이야기만 남기고 싶습니다. ^^

QR system
<메인화면>

QR system
<지도코드생성 일부화면>

Railo를 선택하게 된 결정적이유는 금액적인 문제도 있었지만 처리속도 문제가 가장 큰 이유가 되었습니다. 또 이후 시스템의 이전과 관리, WAS(Web application server)의 업그레이드의 안정적 지원을 고려할때  상용서버인 Adobe ColdFusion은 비용부담과 기술지원에 한계가 분명존재했으니까요. Railo와 함께 QR코드부분은 iText와 Zxing 자바라이브러리가 쓰였습니다. 아시다시피 ColdFusion은 자바에 기반한 WAS이므로 쉽게 자바어플리케이션과 통합이 됩니다.

일부 차트, PDF문서생성 기능등은 ColdFusion자체의 강력한 차트기능(<cfchart> 와 <cfdocument>)을 썼고 대부분의 클라이언트측 코드는 jQuery와 jQuery에 기반한 오프소스들(Form, Ajax, 이미지뷰어, 모달박스 등등)이 쓰였습니다. 지도는 ColdFusion의 cfmap태그과 구글지도를 이용했지요.

QR코드관리시스템은 쉽게 말해 네이버나 다음에서 제공하는 QR코드생성 프로그램을 그대로 구현한 것이라고 할 수 있습니다. 한가지 특징은 이들 포털의 QR코드생성 프로그램은 QR코드를 꾸미는데 필요한 배경이미지를 사용자가 추가할 수 없는 점인데, 저는 이 사용자정의(관리자가 사전에 정의하기도 함) 배경이미지에 QR코드를 합성하여 다양한 모양과 디자인의 QR코드를 생성하게끔 하는 것이였습니다. 

그럴려면 우선 디자인된 이미지에서 QR코드가 들어갈 위치와 크기의 좌표를 알아내야했고, 다양한 크기에 맞춰 이미지를 자동으로 리사이징할 수 있도록해야 했습니다. 대부분의 기능이 ColdFusion에서 쉽게 구현되는 것이고 또 제 블로그에서 단편적으로나마 몇몇 기능에 대해서는 이미 알려드린바 있습니다. 


<QR코드가 합성될 배경이미지중 일부 샘플>

그리고 포털들의 QR코드 프로그램처럼 QR코드를 스캔할때 표시될 모바일 페이지(이건 정말 구현하기 싫더라고요. ㅋ가장 허접한 부분이기도 합니다.)의 구현도 필요했지만 연락처, 지도 등 모바일페이지로 이동되지 않고 바로 단말기에서 이용할 수 있는 QR코드를 생성하도록 별도로 추가했습니다. 가령 코드를 스캔하면 연락처에 추가되는 mCard형식(vCard형식으로 하려다 몇몇 이유로 mCard형식으로 변경)으로 생성되는 것 말이죠. 

아직 정식 서비스 전이고 여전히 코드는 최적화되지 않아서 앞으로 정리가 좀 필요하며, 대부분이 군청직원들이 사용하는 내부적으로 운영될 여지가 많지만 호남권 지방자치단체와 전라남도 등이 QR코드생성프로그램에 관심을 가지고 구축한 사례로 볼때 지역내에서 관광, 문화, 특산품 등 활용도는 있을것으로 예상됩니다. 네이버와 다음에서 제공하는 기능 대부분이 시방서의 규격이라 실제로 포털의 기능과 대동소이하지만 개인적으로 ColdFusion으로 구축한점은 매우 기억에 남는 프로젝트가 아닐까 싶습니다.

추후 세부적인 포스팅 올려야겟습니다. ^^ 

Powered by

© 2010-2018 NOOREE.COM