이전 글 : HWP로 올라오는 식단정보 크롤링하기(1/2) 자사는 이전 글에서 작성한 대로 개발을 완료했고, 어느 정도 잘 서비스를 운영하고 있었습니다. 하지만, 문제가 드러난 것은 iOS 지원에서였습니다.밥대생은 2016년 초까지만해도 iOS를 전혀 고려하지 않고 설계되었습니다. 밥대생 서비스는 안드로이드를 우선지원하는 것을 원칙으로 세웠고,모든 디자인 초이스는 안드로이드에 맞춰졌었습니다.그리고 iOS는 그 디자인 초이스에 맞춰지는 방향으로 개발해나갔습니다.그러다 보니 안드로이드보다 iOS에 없는 기능이 많았습니다. 하지만, 지난 1년동안 밥대생 서비스는 안드로이드 퍼스트가 아닌iOS 퍼스트 전략을 실행해야 함을 깨달았습니다. 안드로이드와 똑같은 기능, 오히려 더 적은 기능을 iOS에서 제공함에도 불구..
[2016년 4월 7일]에 개인 페이스북에 올렸던 글(https://www.facebook.com/yearnning/posts/991001780975369)을 재작성한 글입니다. 몇몇 학교에서는 식단정보가 HWP파일로 올라오고 있습니다.처음에 HWP파일로 올려주는 학교가 몇 개 되지 않아 HWP파일로 올리는 학교들은 배제하기로 결정했습니다. 하지만, 곧 HWP파일로 식단정보가 올라오는 학교들도 처리할 필요가 있었습니다. HWP파일 외의 형식의 파싱 방법에 대해서는 아래 포스팅을 통해 확인하실 수 있습니다.밥대생 식단정보 수집 방법 소개 하지만, HWP 파일의 경우에는 조금 문제가 있습니다. 우선, 텍스트로 파싱하는 것은 매우 힘든 작업입니다.텍스트로 파싱하기 위해서는 HWP 파일 포맷에 대한 이해가 필요..
오늘은 Flask + Nginx + Uwsgi로 프로덕션 서버를디플로이하는 방식에 대해 소개하고자 합니다. 간단히 요약하면 uwsgi가 flask 앱을 실행하고 있고, nginx로 들어온 요청을 소켓 파일을 통해 uwsgi가 받아서 flask 앱으로 전해주는 구조입니다. 차근차근 진행해 봅시다. 먼저 nginx와 uwsgi를 설치해야 합니다. $ sudo apt-get install nginx(venv) $ pip install uwsgi 여기서 중요한 건 uwsgi를 pip를 통해 virtual environment 안에 설치하는 것이apt-get을 통해 설치하는 것보다 설정하기 편하다는 점입니다.이는 여러 버전의 python이 동시에 설치되어 있는 경우가 많기 때문입니다. apt-get을 통해 uws..
$ sudo apt-get install libmysqlclient-dev (venv) $ pip install Flask (venv) $ pip install SQLAlchemy (venv) $ pip install Flask-SQLAlchemy (venv) $ pip install mysqlclient mysqlclient는 mysql과 SQLAlchemy를 연결해주는 역할을 하며 libmysqlclient-dev가 먼저 설치 되어야 설치할 수 있습니다. SQLAlchemy는 python으로 작성한 코드를 SQL문으로 변환하여 mysql에 전달합니다 Flask-SQLAlchemy는 Flask app에서 SQLAlchemy를 편하게 쓸 수 있도록 해줍니다. 기본적인 코드는 다음과 같습니다.from fl..
[2017년 1월 17일 업데이트] AWS EC2 instance ubuntu가 16.04 LTS로 업데이트 되었으며 python 3.5.2가 기본으로 설치되어있습니다. 아래 포스팅에서는 virtualenvironment를 셋팅하는 부분만 참고하시면 될 것 같습니다. AWS에 Ubuntu Instance를 만들면 기본적으로 Python 2.7.6, Python 3.4.3이 설치되어있습니다. 현재 최신 버전인 Python 3.5.1을 설치해봅시다. 먼저 기본 준비물은 다음과 같습니다. $ wget 로 .tgz파일을 다운받습니다. 그리고, $ ./configure $ make$ sudo make install 을 차례로 입력해준다. 기존에 다른 버전의 python들이 설치되어 있었으므로 다음과 같이 출력될 ..
왜 밥대생 팀이 아마존으로 서버를 이전하게 되었는지에 대해서는 아래 글을 참고해주세요! 왜 밥대생 팀은 아마존으로 서버를 이전하게 되었을까? 이제 아마존 무료 서버 이용 방법에 대해서 설명드리고자 합니다. AWS의 EC2인스턴스를 t2.micro로 설치하고, Ubuntu 서버를 무료이용하는 방법에 대해 소개해드리고자 합니다. 몇가지 주의할 점만 잘 숙지하면 1년간 결제 금액이 전혀 나오지 않습니다. ( 2.5 GHz Intel Xeon Family CPU, 1GB memory, 30GB SSD를 1년간 무료로 이용할 수 있습니다.)먼저 https://aws.amazon.com/ko/ 로 가서 계정을 생성하고, 해외 결제가 가능한 마스터나 비자 등의 카드를 등록합니다.이제 로그인 후 '콘솔에 로그인' 을 ..
밥대생은 현재 Picasso 라이브러리를 사용하고 있습니다.하지만, 이 라이브러리에는 약간의 문제가 있습니다. url에 "["이 들어 있는 경우 이미지를 로드하지 못하는 현상이 나타납니다. 구글링을 하다가 이런 페이지를 발견했습니다. utf-8 문자열이 있으면 로드하지 못한다는 것이었습니다. org.apache.commons.httpclient.util 에 있는 URIUtil.encodeQuery(ChineseURL) 를 쓰면 된다고 합니다.하지만, 이제 안드로이드에서 해당 라이브러리는 기본 제공되지 않는 것 같습니다. 찾다보니, 스택오버플로우에 이런 글이 있었습니다. String urlStr = "http://abc.dev.domain.com/0007AC/ads/800x480 15sec h.264.mp..