2017년 3월 25일에서야 작성하는 한달간의 기술 행적

story Mar 25, 2017

2017년이 시작하고도 벌써 3개월이 지났다. 올해를 시작하며 블로그를 꾸준히 하자라고 다짐했는데... 포스팅을 안 한 지 오늘로써 딱 한 달이다. 도중에 써야 한다는 생각도 몇 번 했지만 양질의 내용을 독자들에게 제공하자는 생각도 있었기 때문에 시간이 난 오늘에서야 포스팅한다. 개소리(?) 핑계 아님... 아무튼, 한 달동안 기술 스택을 추가하기도 했다. Swift3, Docker, AWS Beanstalk

한 달 동안 쌓은 3개의 기술 스택 중에서도 Swift3에 집중했다. 사실 포스팅 제대로 못 한 이유도 거기에 있다. 3월에 인프런에서 받은 30% 쿠폰으로 Swift3 강의를 35,000원 주고 샀다. 강의가 짧게는 5분에서 길게는 15분 정도로 구성되어있어서 틈틈이 보기 좋았다. 출근해서 3개, 점심시간에 3개, 퇴근하고 잠들기 전까지 강의를 시청하며 공부했다. 그렇게 140개 정도 되는 강의를 2주~3주 정도 집중해서 다 봤다. 즐거운 스위프트 시간이라며 우리 회사 아이폰 개발자를 괴롭힌 사실은 비밀...궁금증 해소에 큰 도움이 되었다. 그리고 이 자리를 빌려 감사를 전한다.

강의를 다 보고 뭐라도 만들어봐야겠다는 생각에 고민하다가 2015년에 만들어놨던 안드로이드 앱을 Swift3로 이식하기로 마음먹었다. 2015년에 만들었던 안드로이드 앱이라고 하면 Paan(판)이라는 앱이다. 나는 개인적으로 음식을 좋아하고 즐기기 때문에 밥을 먹거나 술을 마실 때 음식점을 신중하게 고르는 편이다. 그리고 음식점에서 어떤 메뉴와 가격으로 팔고 있는지 궁금한 적이 많았다. 그럴 때마다 메뉴판이 찍혀 있는 네이버 블로그를 찾아야 했고 정말로 번거로웠다. 그래서 음식점을 들어가지 않고도 메뉴판을 볼 수 있는 앱을 만들었는데 그것이 Paan(판)이다. 관리자 페이지에서 입력한 음식점 정보와 메뉴를 앱에서 표출하고 GPS를 통해 근처의 음식점들을 소개해준다. 하지만 관리의 부재로 방치된 상태이다. Swift3로 이식을 시작한 지 일주일 정도 되었다. 현재 진행 중 강의에서는 배울 수 없는 시행착오들이 많이 나타나는데 storyboard에서 constraints가 제일 어렵다... 해결한 것도 있고 아직 해결하지 못한 상태로 내버려 둔 것도 있다. 4월 중으로 앱 스토어에 등록시켜 보려고 노력 중이다.

그리고 개인적으로 Swift3를 공부했지만, 회사에서는 DockerAWS Beanstalk를 공부하고 있다.
deployment 세팅이나 개발 환경 구축에 대해 여러가지 시도를 하는 중... 아무튼 Docker라는 게 말로만 들어봤지 실제로 사용을 해본 건 처음이라 써보고 정말 놀랐다. 나온 지 꽤 됐는데 이제 놀람... Docker에는 imagecontainer라는 개념이 있다. image는 개발 환경 구축에 필요한 정보가 담겨있는 파일을 의미하며, containerimage를 실행한 상태를 나타낸다. Docker를 통해 image를 실행시키면 container에 올라가게 되고 개발 환경 구축은 끝난다. Docker를 사용하면 서버 개발 환경을 구축하는데 많은 시간을 투자하지 않아도 된다. 실제로 Docker file 세팅만으로 Python Flask 개발 환경을 순식간에 구축했다.(경험담) ~~Docker file 세팅을 찾는데 조금 헤매인건 비밀...~~그 전까지 나는 서버 세팅할 때 엄청난 시간을 투자했다. 구축할 때마다 버전이 달라져서 발생하는 버그라든지 Dependency 문제 때문에 구글링에 많은 시간을 할애했었다. 하지만 이제 Docker 덕분에 개발 환경을 빨리 구축하고 개발에만 몰두할 수 있을 거 같다. 실제 Production에 도입하려고 아직도 공부하고 정리 중...

다음으로는 Amazon Web Services Beanstalk이다. Beanstalk를 통해서 서버 세팅을 단번에 끝낼 수 있고 deployment도 간편하다. 아직 자세히 살펴보지는 못했지만 Java Spring 같은 경우에는 gradlejar 파일을 만들고 올리기만 하면 거기에 알맞게 서버 세팅이 완료된다. 서버 세팅을 세부적으로 설정할 수도 있지만 과금 요소가 많아 쉽게 건드리지를 못하고 있다. 요금이 부과되면 회사에서 활동비로 지급해준다고 했지만 그래도 불안함... 아무튼 Beanstalk 같은 경우에는 나도 자세히 보지 못해서 다음에 삽질 좀 해보고 나서 포스팅할 수 있을 거 같다.

포스팅은 기회가 되면 틈틈이 작성할 예정이다. 그리고 벌려놓은 시리즈물도 있기 때문에 얼른 마무리해야겠지...라는 생각도 있다. 아! 그리고 카테고리에 Swift3 을 추가할 예정이다. 개발하면서 겪은 시행 착오들을 정리도 할겸...

cherrypick

체리픽이라는 단어 본연의 뜻은 안 좋은 의미이지만 저는 트렌디하고 많은 기술을 공부하고 내 거로 만들자는 뜻을 가지고 사용하고 있습니다.