티스토리 뷰

이전 글 : 

HWP로 올라오는 식단정보 크롤링하기(1/2)




자사는 이전 글에서 작성한 대로 개발을 완료했고, 

어느 정도 잘 서비스를 운영하고 있었습니다. 


하지만, 문제가 드러난 것은 iOS 지원에서였습니다.

밥대생은 2016년 초까지만해도 iOS를 전혀 고려하지 않고 설계되었습니다. 

밥대생 서비스는 안드로이드를 우선지원하는 것을 원칙으로 세웠고,

모든 디자인 초이스는 안드로이드에 맞춰졌었습니다.

그리고 iOS는 그 디자인 초이스에 맞춰지는 방향으로 개발해나갔습니다.

그러다 보니 안드로이드보다 iOS에 없는 기능이 많았습니다. 


하지만, 지난 1년동안 밥대생 서비스는 안드로이드 퍼스트가 아닌

iOS 퍼스트 전략을 실행해야 함을 깨달았습니다. 

안드로이드와 똑같은 기능, 오히려 더 적은 기능을 iOS에서 제공함에도 불구하고

iOS의 리텐션이 훨씬 높은 수준이었습니다. 


안드로이드 월간 유지율안드로이드 월간 유지율

iOS 월간 유지율iOS 월간 유지율


위의 두 개 자료에서 확인하실 수 있듯,

밥대생 안드로이드 유지율보다 밥대생 iOS유지율이

높은 수준임을 한눈에 봐도 알 수 있습니다. 


왜 그럴까?


안드로이드에서는 자사의 대체재가 있지만,

iOS에서는 자사 밥대생 앱의 대체재가 없기 때문이라고 

나름대로 분석하고 있습니다.

자사 앱의 대체재라 할 수 있는 각 학교의 학생식당

애플리케이션이 안드로이드의 경우에는 그래도

조금은 있는 편이지만,

iOS의 경우에는 년간 애플 개발자 등록비용을 

지불해야해서 그런지 거의 없었습니다. 


따라서, 대체재가 없는 iOS 앱의

리텐션이나 사용자 비율이 "밥대생" 앱내에서는 중요한 편이었고,

따라서 iOS를 고려한 디자인 초이스를 해야 한다고 판단했습니다.


하지만, iOS에서는 안드로이드에서와 같이

Intent를 이용한 앱간 통신의 구현이 매우 어렵다는 것을

자사 iOS 개발자로부터 들었습니다.


따라서, 다른 방식으로의 HWP파일 크롤링이 필요함을 깨닫게 되었습니다. 

그래서, 전에도 소개해드렸던, 

pyHWP를 사용하기로 결정했습니다.


두 개의 virtualenvironment를 셋팅하고

본 크롤링 서버에서 해당 virtualenvironment로 

pyHWP를 사용하는 Python script를 작성하는 방식을 채택하였습니다.


mac과 ubuntu간의 script실행방식이 다소 달라

고생하였지만, 결국 두 시스템간의 연동을 성공적으로 수행했습니다. 

현재는 hwp를 html로 변환한 코드를 "자세히보기"를 수행하면

사용자에게 보여주고 있습니다.


iOS도 지원할 수 있게 되었고

이로써 안드로이드 역시 더 seamless한 방식으로 

HWP파일을 지원할 수 있게 되었습니다. 


현재는 두 개의 virtualenvironment를 사용해 

PyHWP를 Python2를 설치해 사용하고 있습니다. 

하지만, 이 방식은 보안에도 취약할 수 있으며,

시스템 자체의 완결성도 떨어뜨리는 방식이라고 생각하고 있습니다. 


해결 방법을 찾던 중, AWS Lambda 서비스에 대해 알게 되었고,

AWS Lambda 를 이용해 PyHWP 사용부를 

serverless API로 분리해내고자 합니다. 


AWS Lambda로 간단한 Proxy 만들기


사실 더 좋은 방법은 이런 파싱을 수행하는 것보다는

"밥대생" 어드민 페이지에 영양사님께서 직접 식단정보를 올려주시는 것입니다.

영양사님께서 저희서비스에 올려주시면

밥대생 시스템이 기존에 영양사님께서 식단정보를 올려주시던 서비스로 

식단 정보를 업로드하는 것이 더 옳은 방향인 것 같습니다. 

현재 몇몇 학교에서는 이러한 방식으로 진행되고 있고,

이 방식을 통해 타사보다 경쟁에서 우위를 조금씩 점해나가고 있습니다. 

밥대생 서비스의 Vertical한 전략에 대해서도 추후 포스팅하도록 하겠습니다. 





관련 글 : 

HWP로 올라오는 식단정보 크롤링하기(1/2)

AWS Lambda로 간단한 Proxy 만들기


댓글
댓글쓰기 폼
공지사항
Total
35,384
Today
0
Yesterday
16
링크
«   2019/05   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
글 보관함