saltfactory's blog


popup 창에서 리다이렉트 이후 window.opener 사라지는 문제 해결하기

서론

웹 프로그램을 개발할 때 현재 열려 있는 페이지를 그대로 유지하면서 사용자에게 다른 액션을 유도하기 위해서 우리는 Popup으로 새로운 창을 열도록 개발하는 경우가 있다. 예를 들어서 i-PIN 인증을 처리하는 경우 회원가입 화면에서 i-PIN 인증 화면을 Popup으로 열어서 사용자 인증을 거친 이후 인증이 완료되면 열었던 창으로 결과를 던져주는 경우가 있다. JavaScript로 Popup을 사용하여 새로운 창을 열고 Popup에서 처리한 결과를 Popup을 열게한 window.opener에 접근해서 이벤트를 전달하는 것은 어렵지않게 이미 알려진 방법으로 해결할 수 있다. 하지만 특정 브라우저에서 Popup한 창에 열려진 사이트가 Redirect를 하여 다른 host로 이동을 할 경우 window.opener 객체를 잃게 되버리는 문제를 발견했다. 이번 포스팅은 JavaScript로 Popup을 사용하는 방법 중에 Popup의 호스트가 이동후 opener에 접근할 수 있는 방법에 대해서 소개한다.

Continue Reading

node-gallery3을 이용하여 Gallery3 REST API 사용하기

서론

Gallery3은 이미지 호스팅 서비스를 개발할 때 가장 많이 사용하고 있는 오픈소스 Photo Album Organizer이다. Gallery3은 REST API를 지원하기 때문에 서버에 Gallery3을 운영하고 있다면 REST API를 사용하여 다양한 어플리케이션을 개발 할 수 있다. Gallery3의 API를 사용하기 위해 node.js 모듈 node-gallery3을 만들었다. node-gallery3을 이용하여 Gallery3 REST API를 사용하는 방법에 대해서 소개한다.

Continue Reading

Mac과 Docker 상호간 디렉토리 공유하기 (Boot2Docker에서 VOLUME 사용)

서론

Mac에서 Docker를 사용하기 위해서는 Boot2Docker를 사용해야한다. Boot2Docker는 VirtualBox를 사용하기 때문에 Docker에 바로 로컬디렉토리를 공유폴더로 지정하기 위해서는 VirtualBox를 통해서 사용해야한다. 이러한 이유로 Docker에서 VOLUME을 사용하는 방법과 다른 방법이 필요하다. 이 포스트에서는 ssfs를 사용하여 Boot2Docker에서 Mac과 Docker 상호간 디렉토리를 공유하는 방법에대해 소개한다.

Continue Reading

Ionic을 이용한 iOS, Android 하이브리드 앱 개발 사례

서론

하이브레인넷 부설 연구소에서는 모바일 서비스를 위해 아이폰과 안드로이드 앱을 개발해서 배포하고 있었다. 우리는 아이폰 사용자와 안드로이드 사용자를 위해서 두가지 플랫폼을 개발해야 했다. 안드로이드와 아이폰은 버전과 디바이스의 파편화 때문에 많은 비용을 투자해서 예외처리를 해야했다. 제한된 개발 인력으로 두가지 디바이스를 개발해야하는 복잡한 프로세스를 개선하기 위해서 우리는 하이브리드 앱 개발 방법을 도입하기로 결정했다. 최근 우리는 하이브리드 앱 개발 기술을 사용하여 “하이브레인넷 앱(ver. 2.3)”을 앱스토어구글 플레이를 통해 배포했다. 우리는 하이브리드 앱을 개발하여 제품으로 배포한 과정을 블로그로 공개한다.

Continue Reading